[gelöst]Problem mit Linker oder MOC

Verschiedenes zu Qt
Antworten
Annatar
Beiträge: 4
Registriert: 21. Mai 2006 22:33

[gelöst]Problem mit Linker oder MOC

Beitrag von Annatar »

Hallo,

ich hab ein Problem beim Linken.

Ich verwende Qt 4.1.1 und qmake zum erstellen der Projekt Dateien und Makefiles.

Mein Programm habe ich zuerst ohne Unterstützung von SIGNAL und SLOT kompiliert und getestet, was auch prima geklappt hat. Nach dem hinzufügen von Q_OBJECT im Header-File, kriege ich folgenden Fehler:

Code: Alles auswählen

moc_MainWindow.obj : error LNK2001: Nichtaufgeloestes externes Symbol "public: v
oid __thiscall MainWindow::drawgraph(void)" (?drawgraph@MainWindow@@QAEXXZ)
moc_MainWindow.obj : error LNK2001: Nichtaufgeloestes externes Symbol "public: v
oid __thiscall MainWindow::log(void)" (?log@MainWindow@@QAEXXZ)
moc_MainWindow.obj : error LNK2001: Nichtaufgeloestes externes Symbol "public: v
oid __thiscall MainWindow::measure(void)" (?measure@MainWindow@@QAEXXZ)
moc_MainWindow.obj : error LNK2001: Nichtaufgeloestes externes Symbol "public: v
oid __thiscall MainWindow::help(void)" (?help@MainWindow@@QAEXXZ)
moc_MainWindow.obj : error LNK2001: Nichtaufgeloestes externes Symbol "public: v
oid __thiscall MainWindow::about(void)" (?about@MainWindow@@QAEXXZ)
moc_MainWindow.obj : error LNK2001: Nichtaufgeloestes externes Symbol "public: b
ool __thiscall MainWindow::save(void)" (?save@MainWindow@@QAE_NXZ)
debug\AkkoSoft.exe : fatal error LNK1120: 6 unaufgeloeste externe Verweise
NMAKE : fatal error U1077: 'link' : Rueckgabe-Code '0x460'
Stop.
NMAKE : fatal error U1077: 'E:\MicrosoftVisualStudio\VC98\bin\NMAKE.EXE' : Rueck
gabe-Code '0x2'
Stop.
Warum werden die genannten Methoden nicht mehr gefunden? Fals es von Interesse sein sollte, das Projekt muss auf Windows programiert werden.

Besten Dank für jegliche Hilfe

Ronny
Zuletzt geändert von Annatar am 22. Mai 2006 19:53, insgesamt 1-mal geändert.
Mess with the best... die like the rest!
BartSimpson
Beiträge: 1379
Registriert: 6. November 2004 12:03
Kontaktdaten:

Beitrag von BartSimpson »

was haste denn in deiner .pro Datei stehen. Haste auch make distclean gefolgt von qmake laufen lassen?
Annatar
Beiträge: 4
Registriert: 21. Mai 2006 22:33

Beitrag von Annatar »

Also mein .pro File:

Code: Alles auswählen

TEMPLATE = app
TARGET += 
DEPENDPATH += .
INCLUDEPATH += .

# Input
HEADERS += calibrate.h \
           CalibrateWindow.h \
           ErrorWindow.h \
           GraphWindow.h \
           MainWindow.h
SOURCES += calibrate.c \
           CalibrateWindow.cpp \
           ErrorWindow.cpp \
           GraphWindow.cpp \
           main.cpp \
           MainWindow.cpp
make distclean hab ich gemacht und qmake ebenfalls, allerdings mit genau dieser Fehlermeldung.

moc erstellt mir ja die moc_MainWindow.cpp Datei aus dem MainWindow.h Header. Wie kann es dann sein, dass er genau die im Header definierten Methoden nicht mehr findet? Ich raffs nicht...
Mess with the best... die like the rest!
BartSimpson
Beiträge: 1379
Registriert: 6. November 2004 12:03
Kontaktdaten:

Beitrag von BartSimpson »

benutzt du noch andere libs auser Qt?
Annatar
Beiträge: 4
Registriert: 21. Mai 2006 22:33

Beitrag von Annatar »

jap. Ich brauch noch eine Library von NationalInstruments zur kommunikation mit einer DAQCard.
Wieso, kann das zu Problemen führen?
Und ja die hab ich im Makefile eingetragen (Nachdem der Linker einmal gemeckert hat).
Mess with the best... die like the rest!
BartSimpson
Beiträge: 1379
Registriert: 6. November 2004 12:03
Kontaktdaten:

Beitrag von BartSimpson »

das muss in die .pro Datei!!
mittels LIBS += -llibname
Annatar
Beiträge: 4
Registriert: 21. Mai 2006 22:33

Beitrag von Annatar »

GRAZIE MILLE :D

habs eingefügt und es hat geklappt. Aber warum kann das nicht einfach im Makefile erledigt werden?

Naja egal. Es funktioniert und somit werdi ich das Projekt noch vor ablauf der Deadline abgeben können 8)

Danke nochmals für die Hilfe. Falls ich nochmals in eine Sackgasse renne melde ich mich wieder.

cu Ronny

PS: Das Problem wurde ja gelöst. Ich glaube dann werden die Threads hier geschlossen, oder?
Mess with the best... die like the rest!
BartSimpson
Beiträge: 1379
Registriert: 6. November 2004 12:03
Kontaktdaten:

Beitrag von BartSimpson »

Nö du solltes denn Titel in [gelöstt] ... ändern.
Antworten