Was bedeutet dieser linker error? (mit QTDesigner erstellt)
Hallo Liste, ich versuche mich gerade an QTDesigner... und habe ein Problem. nachdem ich einen kleines C++ Projekt mit nur einem Form zusammengeklickt habe, mache ich (wie im QTDesigner Tutorial beschrieben): qmake -Wall -o Makefile test_01.pro WARNING: Detected possible line continuation: {QMAKE_CFLAGS_RELEASE} /usr/lib/qt3/mkspecs/default/qmake.conf:21 WARNING: Detected possible line continuation: {QMAKE_CFLAGS_DEBUG} /usr/lib/qt3/mkspecs/default/qmake.conf:22 WARNING: Detected possible line continuation: {QMAKE_CXXFLAGS_RELEASE} /usr/lib/qt3/mkspecs/default/qmake.conf:32 WARNING: Detected possible line continuation: {QMAKE_CXXFLAGS_DEBUG} /usr/lib/qt3/mkspecs/default/qmake.conf:33 WARNING: Operator=(TEMPLATE) clears variables previously set: test_01.pro:8 WARNING: Found potential symbol conflict of main.cpp (main.cpp) in SOURCES und make Makefile:134: Warnung: Überschreibe die Kommandos für das Target ».obj/main.o«. Makefile:123: Warnung: Ignoriere alte Kommandos für das Target ».obj/main.o«. g++ -o test_01 .obj/main.o .obj/main.o .obj/moc_main.o -Wl,-rpath,/usr/lib/qt3/lib -L/usr/lib/qt3/lib -L/usr/X11R6/lib -lqt -lXext -lX11 -lm .obj/main.o: In function `MainWindow::send_command(void)': .obj/main.o(.text+0x0): multiple definition of `MainWindow::send_command(void)' .obj/main.o(.text+0x0): first defined here .obj/main.o: In function `MainWindow::init(void)': .obj/main.o(.text+0x8): multiple definition of `MainWindow::init(void)' .obj/main.o(.text+0x8): first defined here .obj/main.o: In function `MainWindow::MainWindow(QWidget *, char const *, bool, unsigned int)': .obj/main.o(.text+0xc4): multiple definition of `MainWindow::MainWindow(QWidget *, char const *, bool, unsigned int)' .obj/main.o(.text+0xc4): first defined here .obj/main.o: In function `MainWindow::~MainWindow(void)': .obj/main.o(.text+0x12fc): multiple definition of `MainWindow::~MainWindow(void)' .obj/main.o(.text+0x12fc): first defined here /usr/lib/crt1.o: In function `_start': /usr/lib/crt1.o(.text+0x18): undefined reference to `main' collect2: ld returned 1 exit status make: *** [test_01] Fehler 1 was bedeutet dieser linker fehler? any ideas? Grüße aus Hannover Michael PS: Der gleiche Fehler tritt auf, wenn ich das im QTDesigner beschriebene Multiclip Programm erstellen will.
Hi, On Sat, 31 Aug 2002, Michael Born wrote:
qmake -Wall -o Makefile test_01.pro /usr/lib/qt3/mkspecs/default/qmake.conf:33 WARNING: Operator=(TEMPLATE) clears variables previously set: test_01.pro:8 WARNING: Found potential symbol conflict of main.cpp (main.cpp) in SOURCES
Naja, die gibt ja schon einen Hinweis ...
.obj/main.o: In function `MainWindow::send_command(void)': .obj/main.o(.text+0x0): multiple definition of `MainWindow::send_command(void)' .obj/main.o(.text+0x0): first defined here
... und dies bestaetigt es. main.o (oder main.cpp) taucht doppelt in der SOURCES Variable auf. Eins davon muss weg.
/usr/lib/crt1.o: In function `_start': /usr/lib/crt1.o(.text+0x18): undefined reference to `main'
Ohh, und du hast nirgends ne main() Funktion definiert. Koennte aber ein Folgefehler von obigem sein. Wie man das in qt-designer selbst wegbekommt habe ich allerdings keine Ahnung. Ciao, Micha.
participants (2)
-
Michael Born
-
Michael Matz