Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » KDevelop / Qt / wxWidget » Problem mit Kdevelop und QT

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
27.09.2004, 11:25 Uhr
~Felix
Gast


Hallo miteinander,
ich würde gern anfangen mit qt programmieren aber irgendwie will mein Kdevelop net so wie ich will!!!!!wie kann ich bei Kdevelop angeben wo er nach header dateien suchen soll?

also hier ist jetzt erstmal mein Quelltext:


Code:



C++:
#include <qlabel.h>
#include <qapplication.h>



int main (int argc ,  char **argv)
{
QApplication app (argc, argv);
QLabel *l = new QLabel ("<H1>Hallo,Welt!</H1>", 0);
l->show();
app.setMainWidget (l);
return app.exec();
}





und hier die Fehler Meldung von Kdevelop:


Zitat:



Code:
cd "/home/felix/programme/qt/test2/debug" && QTDIR="/usr/lib/qt3/include" t="-I$QTDIR/include -Iqt" WANT_AUTOCONF_2_5="1" WANT_AUTOMAKE_1_6="1" gmake -k -j1
*Linken der Datei test2 (libtool)
*Linken der Datei test2 (g++)
*/usr/lib/qt3/include/qstring.h:843: undefined reference to `QApplication::QApplication[in-charge](int&, char**)'
*test2.o(.text+0x57):/usr/lib/qt3/include/qstring.h:846: undefined reference to `QString::QString[in-charge](char const*)'
*test2.o(.text+0x66):/usr/lib/qt3/include/qstring.h:846: undefined reference to `QLabel::QLabel[in-charge](QString const&, QWidget*, char const*, unsigned)'
*/home/felix/programme/qt/test2/src/test2.cpp:32: undefined reference to `QApplication::setMainWidget(QWidget*)'
*test2.o(.text+0x118):/home/felix/programme/qt/test2/src/test2.cpp:33: undefined reference to `QApplication::exec()'
*test2.o(.text+0x129):/home/felix/programme/qt/test2/src/test2.cpp:33: undefined reference to `QApplication::~QApplication [in-charge]()'
*test2.o(.text+0x149):/home/felix/programme/qt/test2/src/test2.cpp:33: undefined reference to `QApplication::~QApplication [in-charge]()'
*test2.o(.gnu.linkonce.r._ZTV6QGList+0xc):/usr/lib/qt3/include/qglist.h:153: undefined reference to `QGList::clear()'
*test2.o(.gnu.linkonce.r._ZTV6QGList+0x10):/usr/lib/qt3/include/qglist.h:153: undefined reference to `QGList::~QGList [in-charge]()'
*test2.o(.gnu.linkonce.r._ZTV6QGList+0x14):/home/felix/programme/qt/test2/src/test2.cpp:29: undefined reference to `QGList::~QGList [in-charge deleting]()'
*gnu.linkonce.r._ZTV6QGList+0x18):/usr/lib/qt3/include/qshared.h:50: undefined reference to `QPtrCollection::newItem(void*)'
*test2.o(.gnu.linkonce.r._ZTV6QGList+0x20):/usr/lib/qt3/include/qstring.h:843: undefined reference to `QGList::compareItems(void*, void*)'
*test2.o(.gnu.linkonce.r._ZTV6QGList+0x24):/usr/lib/qt3/include/qstring.h:843: undefined reference to `QGList::read(QDataStream&, void*&)'
*test2.o(.gnu.linkonce.r._ZTV6QGList+0x28):/usr/lib/qt3/include/qstring.h:844: undefined reference to `QGList::write(QDataStream&, void*) const'
*/usr/lib/qt3/include/qstring.h:843: undefined reference to `QString::shared_null'
*/home/felix/programme/qt/test2/src/test2.cpp:30: undefined reference to `QStringData::deleteSelf()'
*test2.o(.gnu.linkonce.r._ZTI6QGList+0x8):/usr/lib/qt3/include/qstring.h:842: undefined reference to `typeinfo for QPtrCollection'
**** Beendet mit Status: 2 ***





danke gruss felix


Bearbeitung von typecast:
cpp und code-Tags gesetzt

Dieser Post wurde am 28.09.2004 um 07:05 Uhr von typecast editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
27.09.2004, 14:52 Uhr
kronos
Quotenfisch
(Operator)


Nix mit header, er linkt irgendeine library nicht...
Hast du vorher qmake gemacht?
--
main($)??<-$<='?'>>2?main($-!!putchar(
(("$;99M?GD??(??/x0d??/a:???;a"+'?'/4)
??($??)+'?'/3-2-1+$%2)??''?')):'?';??>
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
27.09.2004, 16:57 Uhr
~Felix
Gast


Was meinst du mit qmake?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
28.09.2004, 07:23 Uhr
typecast
aka loddab
(Operator)


Wahrscheinlich ist die der ein Link falsch/nicht gesetzt. Das ist ein bekanntes Problem das manche

Als erstes musst du rausfinden wo deine Qt-lib installiert ist (du kannst dir dafuer mal $QTDIR anschauen)
In der shell gibst du dafuer

Code:
$ echo $QTDIR


ein.

Wenn das was ausgiebt, dann hast du das gesuchte Verzeichnis. Wenn nicht, dann solltest du die Variable setzten.

Hier steht was du noch alles setzen musst.

Um das Verzeichnis rauszufinden kannst du ein


Code:
$ find / -name "libqt-mt*" -print 2>/dev/null



Jetzt sollte bei dir was ausgegeben werden (wenn nicht hast du die qt-lib nicht installiert.... Aber dann traeumst du nur das du KDevelop benutzt )

So aber jetzt wieder ernsthaft: Bei mir erscheint dann

Code:
/usr/qt/3/lib/libqt-mt.so.3.3.2
/usr/qt/3/lib/libqt-mt.la
/usr/qt/3/lib/libqt-mt.so.3.3  
/usr/qt/3/lib/libqt-mt.so.3
/usr/qt/3/lib/libqt-mt.so



Jetzt musst du ein paar Links anlegen:


Code:
# ln -s /usr/qt/3/lib/libqt-mt.so.3.3.2 /usr/qt/3/lib/libqt.so.3.3.2
# ln -s /usr/qt/3/lib/libqt-mt.so.3.3 /usr/qt/3/lib/libqt.so.3.3
# ln -s /usr/qt/3/lib/libqt-mt.so.3 /usr/qt/3/lib/libqt.so.3
# ln -s /usr/qt/3/lib/libqt-mt.so /usr/qt/3/lib/libqt.so
# ln -s /usr/qt/3/lib/libqt-mt.la /usr/qt/3/lib/libqt.la



Das musst du natuerlich als root machen (Anmerkung: Das $ soll den Prompt eines normalen Users darstellen. # soll der Prompt von root sein)

Danach sollte es funktionieren.
--
All parts should go together without forcing. ... By all means, do not use a hammer. (IBM maintenance manual, 1925)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
28.09.2004, 16:28 Uhr
~felix
Gast


Also erstmal danke,
hab das jetzt gemacht aber kannst mir noch sagen was ich da jetzt genau gemacht hab *G*
naja und ne schlechte nachricht für dich bzw eigentlich für mich es funktioniert immernoch
nicht immernoch die gleichen Fehler!
aber trotzdem mal danke!
Gruss Felix
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
28.09.2004, 17:12 Uhr
typecast
aka loddab
(Operator)


Wenn ein Qt-Projekt gelinkt werden soll, dann schnappt sich der Compiler die libqt.so und linkt dagegen. Ist der Link nicht vorhanden, so findet er die Funktionen nicht die in der Lib sind.
Dafuer hast du gerade die noetigen Links angelegt.

Probier mal folgendes:

Erstell ein neues Verzeichnis und steck da die Datei die den Code von oben enthaelt rein.
Dann mach mal:


Code:
$ qmake -project
$ qmake
$ make



Und berichte mal was da fuer Fehlermeldungen kommen.
--
All parts should go together without forcing. ... By all means, do not use a hammer. (IBM maintenance manual, 1925)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
29.09.2004, 11:46 Uhr
~Felix
Gast


Also so funtkioniert es aber wie bekomm ich das hin das er das direkt wenn ich bei kdevelop auf make&konsorten ausführen drück?

und kann mir mal noch jemand erklären was qmake ist?

hehe vielen dank @typecast
Gruss Felix
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
29.09.2004, 19:19 Uhr
typecast
aka loddab
(Operator)


Gut, dann liegt das Problem auf jeden Fall bei KDevelop.

Was hast du denn fuer ein Projekt gewaehlt? Ein normales C++ Projekt?

Wenn ja, dann ist das dein Problem. Du musst ein Qt-Project nehmen. Dann wird KDevelop auch qmake vor dem Compilieren ausfuehren.
--
All parts should go together without forcing. ... By all means, do not use a hammer. (IBM maintenance manual, 1925)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ KDevelop / Qt / wxWidget ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: