PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : qt/qmake - undefined reference to QApplication



Jaipur
16-12-2002, 03:13
hi,

ich wollte mal kleinigkeiten mit qt testen, da es mir nicht möglich diese von hand zu kompilieren,
wollte ich jetzt nun qmake ausprobieren ...

qt.pro


SOURCES = qt.cpp
TARGET = qt

qt.cpp


# include < stdio.h >
# include < stdlib.h >

# include <qapplication.h>

int main( int argc, char *argv[])
{
QApplication a( argc, argv);
return 0;
}

aufruf mit:


qmake -o Makefile qt.pro


dieser meckert jetzt aber:
undefined reference to `QApplication::QApplication[in-charge](int&, char**)`
undefined reference to `QApplication::~QApplication[in-charge](int&, char**)`

wenn ich aber in main QApplication weg lasse, klappt es ...
... aber was mag den jetzt noch fehlen?
... und das TERGET in qt.pro ist doch nachher für make qt?

anda_skoa
16-12-2002, 12:59
probier noch folgendes in das .pro File einzutragen:


TEMPLATE = app


Das TARGET gibt an, wie das Executable oder die Bibliothek nacher heißt.

Ciao,
_

Jaipur
16-12-2002, 16:19
hi,

ich habe das mal gerade ausprobiert, beim qmake klappt alles ohne probleme und
das ganze dauert nicht mal eine sekunde und schon ist das makefile fertig,
aber der fehler kommt dann erst, wenn ich make aufrufe

make
oder

make qt
wenn ich das ganze mit kdevelp mache klappt alles ohne probleme und
ich kann das dann auch noch ausführen, aber das dauert dann mindestens 5 minuten :(

anda_skoa
16-12-2002, 18:35
CONFIG = qt
Fehlt noch.

Siehe auch:
http://doc.trolltech.com/3.1/qmake-manual-4.html

Ciao,
_

Jaipur
17-12-2002, 18:44
hi,

ich hatte mal so eine fehlermeldung auch unter windows mit dem ms vc++
dort hatte ich versucht eine funktion von der sound library aufzurufen,
da sagte mir der compiler das er sound::sound() und sound::~sound()
nicht finden kann, in einem forum wurde mir gesagt das ich dann folgendes in
meinen quelltext einfügen soll:
# pragma("lib",sound.lib) ... oder so ähnlich

diese lib dateien werden sonst bei einer win32 anwendung automatisch in der liste
vom ms vc++ eingetragen ...

aber wie gehe ich jetzt unter linux mit dem gcc für eine qt anwendung damit um?

anda_skoa
17-12-2002, 19:27
Du brauchst das unter Windows auch nicht zu machen.

Folgende Sachen im .pro File:



win32:LIBS += sound.lib
unix:LIBS += -L/pfad/zu/libsound -lsound


das -L brauchst du natürlich nur, wenn libsound nicht in einem der Standardpfade liegt

Ciao,
_

Jaipur
02-01-2003, 13:35
hi,

also ich denke schon das die pfade korrekt gesetzt sind,
denn mit kdevelop klappt das (fast) prima, es dauert nur zu lange.

die *.lib dateien für qt, wo finde ich diese?
... /usr/lib/qt ? ... hier sind nur drei *.lib dateien

und das mit dem sound.lib war nur ein beispiel, was mir mal passiert ist,
als ich so etwas unter windows gemacht hatte und wie ich das lösen konnte.

und wo finde ich jetzt nun die qt.lib's ?

Jaipur
02-01-2003, 14:50
hi,

ich glaube ich sollte mich zuerst bei dir entschuldigen .... sorry!
ich habe hier gerade im forum ein bissel gelesen und gefunden (http://www.mrunix.de/forums/showthread.php?s=&threadid=30799).
bei mir war es auch nur dieser eine link :)

danke!