我正在尝试在Qt中构建一个简单的c ++ qmake项目,我使用内置的“add library ...”向导链接了我的代码所需的库。我已将库设置为静态。
然后使用以下附加文本修改我的.pro文件:
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
然后我尝试构建项目并返回此错误:
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
我正在尝试添加32位库,但在尝试链接64库时也遇到了同样的错误。该库是.lib导入库。我目前将所有文件放在同一个文件夹中。我使用的是Windows 7,minGW 32,g ++。
还如果我删除.a文件的行(我不想要):
else:win32-g++: PRE_TARGETDEPS += $$PWD/./libfusionTrack32.a
然后我得到了两个错误:
cannot find -lfusionTrack32
error: ld returned 1 exit status
非常感谢任何帮助。
答案 0 :(得分:1)
我的建议是你可以自己直接修改.pro
文件而不是向导。因此,请先撤消应用于.pro
文件的所有更改,然后使用以下命令添加库:
# Absolute address of the .lib file
LIBS += c:/mylib/mylib.lib
# Absolute address of its header files (if any)
INCLUDEPATH += c:/mylib/include
那就是它! more info