Ich versuche, ein einfaches C++ qmake-Projekt in Qt zu erstellen, habe ich die Bibliothek von meinem Code mit dem eingebauten "Bibliothek hinzufügen ..." Assistenten verknüpft. Ich habe die Bibliothek als statisch festgelegt.Qt Fehler beim Hinzufügen von Bibliothek - keine Regel zu Ziel
Dies ändert dann meine .proDatei mit diesem zusätzlichen Text:
win32: LIBS += -L$$PWD/./ -lfusionTrack32
INCLUDEPATH += $$PWD/.
DEPENDPATH += $$PWD/.
win32:!win32-g++: PRE_TARGETDEPS += $$PWD/./fusionTrack32.lib
else:win32-g++: PRE_TARGETDEPS += $$PWD/./libfusionTrack32.a
ich dann versuchen, das Projekt zu erstellen und diese Fehler zurückgegeben:
mingw32-make[1]: *** No rule to make target'//icnas1.cc.ic.ac.uk/hd1714/ftk_basic/./libfusionTrack32.a', needed by 'release\ftk_basic.exe'. Stop.
Makefile:34: recipe for target 'release' failed
mingw32-make: *** [release] Error 2
Ich habe ich versucht das hinzufügen 32-Bit-Bibliothek, aber ich bekomme den gleichen Fehler beim Versuch, die 64-Bibliothek auch zu verknüpfen. Die Bibliothek ist eine .lib-Importbibliothek. Ich habe derzeit alle Dateien im selben Ordner. Ich benutze Windows 7, minGW 32, g ++.
auch wenn ich die Leitung für die .a-Datei löschen (das ich nicht will nicht):
else:win32-g++: PRE_TARGETDEPS += $$PWD/./libfusionTrack32.a
dann stattdessen bekomme ich die zwei Fehler:
cannot find -lfusionTrack32
error: ld returned 1 exit status
Irgendwelche Hilfe wird sehr geschätzt.
Die Bibliothek hat keinen Namen libfusionTrack32.a? – perencia
leider nicht @perencia, die Bibliothek heißt fusionTrack32.lib, ich glaube, die .a-Dateien sind für Unix und .lab sind das Äquivalent für Windows ... [siehe hier] (http://stackoverflow.com/questions/2337949/whats-the-difference-zwischen-lib-and-a-files) –
daher meine Verwirrung, warum es dies in der .pro-Datei enthalten würde, nachdem ich die Kontrollkästchen für Mac und Linux im Assistenten deaktiviert. –