c++ - 添加库时出现 Qt 错误 - 没有创建目标的规则

标签 c++ qt qt5 static-libraries

我正在尝试在 Qt 中构建一个普通的 c++ qmake 项目,我已经使用内置的“添加库...”向导链接了我的代码所需的库。我已将库设置为静态。

这将修改我的 .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

非常感谢任何帮助。

最佳答案

我的建议是你可以直接自己修改.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

关于c++ - 添加库时出现 Qt 错误 - 没有创建目标的规则,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38478740/

相关文章:

用于并行 for 循环的 C++ OpenMP 指令?

c++ - 使用 WRL 实例化 SpatialSurfaceObserver

c++ - 编译时得到错误: 'QtGui/QAction' file not found #include <QtGui/QAction>

c++ - QT 将文本翻译成特定的语言环境

c++ - 使用 dlib 对图像应用仿射变换

c++ - 是否可以在实例方法中使用带有 "this"的重载运算符?

qt - 如何在保持 Flickable 功能的同时在 Flickable 中添加可拖动项目?

qt - 通过 Web 提供 Qt Gui 的方法?

c++ - 编辑 QTableWidgetItem 时捕获 ESC 键

c++ - 尝试在树莓派上部署 qt5 应用程序时出现奇怪的错误