我的项目出了问题。我在Qt Creator上开发它,我需要在我的项目中添加一个.lib文件。所以,我在.pro中写了这一行:
LIBS += "C:\My_Path\My_Project\lib\file.lib"
这很好用。我唯一的问题是我需要编写.lib文件的完整路径。由于它是一个组项目,因此需要在其他计算机上进行编译,而不必每次都更改此文件的路径。
我尝试了很多语法,例如:
LIBS += -L"lib/" -l"file.lib"
或
LIBS += "lib\file.lib"
或
LIBS += "file.lib"
(将.lib文件放在根目录并将其添加到Qt Creator中的项目中)
它们都不起作用:/
我还尝试在QResource文件中添加.lib文件,但语法如下:
LIBS += ":/lib/file.lib"
.pro文件中的似乎不起作用......
我现在已经没想完了:(
请帮助:)
答案 0 :(得分:1)
你试过吗
LIBS += -Llib -lfile
或
LIBS += -L./lib -lfile
?
请记住,如果您没有使用完整路径,则不要将.lib
添加到库名称,也不要使用引号。如果路径有空格(或者您只是想要安全),请使用$$quote(-L<path name>)
如前所述here,Unix样式路径也适用于Windows,您通常需要提供完整路径。 qmake会为你填写。
我转换了
LIBS += ../../lib/phraseBox.lib
到
LIBS += $$quote(-L../../lib) -lphraseBox
和
LIBS += $$quote(-L../../lib) phraseBox.lib
在我的一个项目中,在Windows上没有问题。您可能希望在某处发布项目文件,或发布实际的错误消息以缩小范围。
答案 1 :(得分:1)
好的,我找到了解决方案:
lib /目录必须放在与Makefile(真实文件,而不是.pro)相同的目录中。答案 2 :(得分:0)
从您的尝试中我想您想使用相对路径链接到库,默认情况下应该可以正常工作。
试试这个:
LIBS += -L$$relative/directory/path -llibname
如果它不起作用,那么您可能想尝试设置多个INCLUDEPATH
。 :/