Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[gelöst] Kdevelop und QT
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

 
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German)
View previous topic :: View next topic  
Author Message
markusk21
Apprentice
Apprentice


Joined: 07 Oct 2004
Posts: 216
Location: Hannover

PostPosted: Mon Aug 07, 2006 4:49 pm    Post subject: [gelöst] Kdevelop und QT Reply with quote

Ich krieg's nicht hin!!!!
Ich habe schon einiges experimentiert (Erste Versuche).
Ich versuche eine QT-Anwendung zu kompilieren. Aber es fehlen offenbar immer einige Bibliotheken.
Ich habe mein Projekt erstellt nach folgender Anleitung: http://women.kde.org/articles/tutorials/kdevelop3/index.html.
Ich hoffe ich habe keine Tippfehler übersehen, jedenfalls bekomme ich nach automake und Konsorten und ./configure beim erstellen folgende Meldungen:
Quote:
cd '/home/markus/programming/sigcreate/debug' && WANT_AUTOCONF_2_5="1" WANT_AUTOMAKE_1_6="1" gmake
gmake all-recursive
Making all in doc
Making all in .
gmake[3]: Für das Ziel »all-am« ist nichts zu tun.
Making all in en
gmake[3]: Für das Ziel »all« ist nichts zu tun.
Making all in po
gmake[2]: Für das Ziel »all« ist nichts zu tun.
Making all in src
if g++ -DHAVE_CONFIG_H -I. -I/home/markus/programming/sigcreate/src -I.. -I/usr/kde/3.5/include -I/usr/qt/3/include -I. -DQT_THREAD_SUPPORT -I/usr/qt/3/include -L/usr/qt/3/lib -lqt -D_REENTRANT -Wno-long-long -Wundef -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -Wchar-subscripts -Wall -W -Wpointer-arith -g3 -fno-inline -O0 -g3 -Wformat-security -Wmissing-format-attribute -Wno-non-virtual-dtor -fno-exceptions -fno-check-new -fno-common -MT sigcreate.o -MD -MP -MF ".deps/sigcreate.Tpo" -c -o sigcreate.o /home/markus/programming/sigcreate/src/sigcreate.cpp; then mv -f ".deps/sigcreate.Tpo" ".deps/sigcreate.Po"; else rm -f ".deps/sigcreate.Tpo"; exit 1; fi
/home/markus/programming/sigcreate/src/sigcreate.cpp: In member function `virtual void SigCreate::slotErstellenSignatur()':
/home/markus/programming/sigcreate/src/sigcreate.cpp:36: Fehler: invalid use of undefined type `struct QTextEdit'
./sigcreatedlg.h:24: Fehler: forward declaration of `struct QTextEdit'
/home/markus/programming/sigcreate/src/sigcreate.cpp:37: Fehler: invalid use of undefined type `struct QTextEdit'
./sigcreatedlg.h:24: Fehler: forward declaration of `struct QTextEdit'
/home/markus/programming/sigcreate/src/sigcreate.cpp:37: Fehler: invalid use of undefined type `struct QLineEdit'
./sigcreatedlg.h:22: Fehler: forward declaration of `struct QLineEdit'
/home/markus/programming/sigcreate/src/sigcreate.cpp:38: Fehler: invalid use of undefined type `struct QTextEdit'
./sigcreatedlg.h:24: Fehler: forward declaration of `struct QTextEdit'
/home/markus/programming/sigcreate/src/sigcreate.cpp:38: Fehler: invalid use of undefined type `struct QLineEdit'
./sigcreatedlg.h:22: Fehler: forward declaration of `struct QLineEdit'
/home/markus/programming/sigcreate/src/sigcreate.cpp:39: Fehler: invalid use of undefined type `struct QTextEdit'
./sigcreatedlg.h:24: Fehler: forward declaration of `struct QTextEdit'
/home/markus/programming/sigcreate/src/sigcreate.cpp:39: Fehler: invalid use of undefined type `struct QComboBox'
./sigcreatedlg.h:23: Fehler: forward declaration of `struct QComboBox'
gmake[2]: *** [sigcreate.o] Fehler 1
gmake[1]: *** [all-recursive] Fehler 1
gmake: *** [all] Fehler 2
*** Beendet mit Status: 2 ***


Wie im oben genannten Thread berichtet habe ich in /etc/profile folgende Einträge:
Quote:
QTDIR="/usr/qt/3"
KDEDIR="/usr/kde/3.5"
LD_LIBRARY_PATH=$QTDIR/include:$KDEDIR:$LD_LIBRARY_PATH
PATH=$QTDIR/bin:$KDEDIR/bin:$PATH


Zusätzlich habe in in den KDevelop-Projekteinstellungen unter "Einstellungen für Configure" bei "Schalter für den C/C++ Präprozessor" folgenden Eintrag:
Quote:
-I/usr/qt/3/include -L/usr/qt/3/lib -lqt


Bei C++Besonderheiten habe ich die Benutzung von QT 3.x mit dem Qt-Installationsverzeichnis "/usr/qt/3" angekündigt.

Offensichtlich hat der Compiler (oder der Linker :ROOKIE:) die QApplication und anderen header gefunden, kennt aber QTextEdit
nicht. Ist das in der .ui-Datei eingebunden und deklariert oder woher weiss er das das ein strukt ist?????

Kann mir bitte jemand eine Webseite oder so empfehlen, sodass ich endlich mit meinen GUIs anfangen kann. Ich hab die Nase echt voll von Konsolen-Anwendungen.


Last edited by markusk21 on Tue Aug 08, 2006 10:26 pm; edited 1 time in total
Back to top
View user's profile Send private message
markusk21
Apprentice
Apprentice


Joined: 07 Oct 2004
Posts: 216
Location: Hannover

PostPosted: Mon Aug 07, 2006 9:40 pm    Post subject: Reply with quote

Mal ganz doof gefragt, entwickelt jemand (kleine) QT-Programme mit KDevelop?

Welche Schritte werden gemacht. Im anderen Thread sagte jemand man braucht ein Make-File (sollte ja wohl eigentlich autoconf erstellen, nicht). Was muss da rein?

Sprich, wie bekommt man ein QT-Programm mit .ui-Datei (mit QT- bzw. Kdevelop-Designer erstellt) compiliert????

Ich habe meine Projektdatei mal gepackt und verlinkt. Vielleicht hat jemand Lust meinem Problem mit mir nachzugehen? Was muss ich ändern? In KDevelop oder läuft es so bei jemand?

Ach ja, ich habe auf einem Rechner KDevelop 3.3.2 auf dem anderen 3.3.3 laufen.

Gruß Markus
Back to top
View user's profile Send private message
intmain
Apprentice
Apprentice


Joined: 14 Dec 2005
Posts: 179
Location: Austria

PostPosted: Tue Aug 08, 2006 8:19 am    Post subject: Reply with quote

Quote:
Welche Schritte werden gemacht. Im anderen Thread sagte jemand man braucht ein Make-File (sollte ja wohl eigentlich autoconf erstellen, nicht). Was muss da rein?

Wenn du eine "reine" Qt-Anwendung entwickeln möchtest, also ohne KDE-Komponenten, ist es unter Umständen besser, ein QMake-basierendes Projekt mit KDevelop zu erstellen, es sei denn, du möchtest aus bestimmten Gründen unbedingt autoconf/automake verwenden. QMake-Projekte sind meiner Meinung nach viel einfacher und transparenter und vereinfachen es auch, die Anwendung auf anderen Plattformen (MacOS X, Windows) zu kompilieren.

Quote:
Mal ganz doof gefragt, entwickelt jemand (kleine) QT-Programme mit KDevelop?

Es ist zwar schon länger her, dass ich zum letzten mal KDevelop verwendet habe (3.1 soweit ich mich erinnere), habe damals aber (zumindest mit weniger umfangreichen QMake-basierenden Projekten) keine schlechten Erfahrungen gemacht.

Die Compilerfehler "invalid use of undefined type ..." kommen daher, dass der aus .ui-Dateien generierte Header-Files nur Forward-Deklaratioen für die verwendeten Klassen beinhalten.
Ich habe an deinem Code folgende Änderungen vorgenommen, um das Programm lauffähig zu machen:
Code:
// sigcreate.cpp
#include "sigcreate.h"

#include <qlineedit.h>
#include <qtextedit.h>
#include <qcombobox.h>

SigCreate::SigCreate(QWidget* parent, const char* name, WFlags fl)
: SigCreateDlg(parent,name,fl)
{
}

SigCreate::~SigCreate()
{
}

/*$SPECIALIZATION$*/
void SigCreate::slotErstellenSignatur()
{
   SigFeld->append("\n--");
   SigFeld->append(NameLine->text());
   SigFeld->append(EmailLine->text());
   SigFeld->append(KommBox->currentText());

}

Da ich keine KDE-Libraries installiert habe, habe ich außerdem noch folgendes verändert:
Code:
// main.cpp
#include "sigcreate.h"
#include <qapplication.h>
#include <qlineedit.h>
#include <qcombobox.h>
#include <qmultilineedit.h>

int main(int argc, char **argv)
{
QApplication app(argc, argv);
    SigCreate *mainWin = 0;

        mainWin = new SigCreate();
        app.setMainWidget( mainWin );
        mainWin->show();

    return app.exec();
}

Um die Anwendung ohne KDevelop zu kompilieren habe ich in sigcreate/src noch die Datei sigcreate.pro erstellt und qmake ausgeführt bzw. mit make compiliert.
Code:
# sigcreate.pro
TEMPLATE = app
SOURCES += main.cpp sigcreate.cpp
HEADERS += sigcreate.h
FORMS += sigcreatedlg.ui

Wenn du beim Erstellen eines neuen Projekts in KDevelop QMake-basierend wählst, wird die .pro Datei automatisch erstellt und verwaltet.

Zu deinem Problem in Erste Schritte:
Auch dieses Problem lässt sich mit qmake lösen, einfach eine Datei firstprog.pro mit folgendem Inhalt erstellen
Code:
TEMPLATE = app
SOURCES += firstprog.cpp

und dann qmake und make ausführen.
Wenn du Qt3 und Qt4 installiert hast, musst du, wenn du Qt3 verwenden möchtest $QTDIR/bin/qmake statt nur qmake ausführen.
Back to top
View user's profile Send private message
_hephaistos_
Advocate
Advocate


Joined: 07 Apr 2004
Posts: 2694
Location: salzburg, austria

PostPosted: Tue Aug 08, 2006 8:50 am    Post subject: Reply with quote

1) fehlermeldung sieht danach aus, dass du "qtextedit.h" nicht included hast...
2) wenns immer noch nicht geht: pack mal dein projekt und stells irgendwo online

hab mit kdevelop keine probleme... qmake project halt...

EDIT: hab gerade gesehen, dass du es gepackt hast. werds mal probieren und hoffentlich fixen :D
_________________
-l: signature: command not found
Back to top
View user's profile Send private message
_hephaistos_
Advocate
Advocate


Joined: 07 Apr 2004
Posts: 2694
Location: salzburg, austria

PostPosted: Tue Aug 08, 2006 9:21 am    Post subject: Reply with quote

wie zu erwarten war:

füg:
Code:

#include <qtextedit.h>
#include <qlineedit.h>
#include <qcombobox.h>

in sigcreate.cpp ein!

cheers
_________________
-l: signature: command not found
Back to top
View user's profile Send private message
markusk21
Apprentice
Apprentice


Joined: 07 Oct 2004
Posts: 216
Location: Hannover

PostPosted: Tue Aug 08, 2006 10:22 am    Post subject: Reply with quote

die 3 Include-DAteien haben es gebracht!!!

Da aber so viele das andere Make-empfehlen werde ich das mal ausgiebig testen.


Hey, vielen, vielen Dank für eure Hilfe!!!!!!
Back to top
View user's profile Send private message
_hephaistos_
Advocate
Advocate


Joined: 07 Apr 2004
Posts: 2694
Location: salzburg, austria

PostPosted: Tue Aug 08, 2006 10:26 am    Post subject: Reply with quote

kdevelop macht dir doch das genauso!
kdevelop arbeitet mit autoconf & automake -> flexibler und besser gehts fast nicht :D

es wär gescheiter mal zu verstehen, worums geht, bevor du irgendwas machst, was dir jemand sagt...
dh:
- unterschied qmake project und kde project. stichwort QApplication und KApplication usw.
- unterschied autoconf & automake zu qmake -> jo, qmake generiert dir auch "nur" ein Makefile...

@profis: ja, ist nicht _astrein_ ausgedrückt und die Vergleiche hinken auch leicht, aber ich denke man versteht, worums geht :D
_________________
-l: signature: command not found
Back to top
View user's profile Send private message
markusk21
Apprentice
Apprentice


Joined: 07 Oct 2004
Posts: 216
Location: Hannover

PostPosted: Tue Aug 08, 2006 10:25 pm    Post subject: Reply with quote

Ich habe glaube ich mein Hauptproblem identifiziert!

Mir war gar nicht klar, dass ich 2 QT-Versionen installiert habe, ganz zu schweigen davon, dass ich alte Header etc einbinde.
Ich habe jetzt (hoffentlich vollständig) meine Versuche auf QT4 umgestellt. So funktioniert auch unter Kdevelop einiges mehr auf Anhieb :D .

Vielen Dank an alle und
LG.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German) All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum