添加库时出现Qt错误-没有规则使其成为目标
Qt error when adding library - no rule to make target
我正试图在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 'releaseftk_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
就是这样!更多信息
相关文章:
- 制作文件:没有规则来制定目标:如何设置正确的规则?
- antlr 规则上下文是否可以独立于目标
- C++ 如何将两个 makefile 对象目标规则(位于另一个文件夹中)合并到一个目标/规则中?
- 朋友声明的复杂范围界定规则有什么意义?
- Cassandra C++ MacOS High Sierra上的驱动程序:make:没有规则来制作目标
- 可变参数模板在目标文件中有重复的符号?
- 没有规则来设定目标'/usr/lib/x86_64-linux-gnu/libboost_filesystem.so'
- 目标提升::<library>已经有导入的位置 + 链接错误
- 是否有可能编写新的叮当声现代化规则?
- 没有规则来制作目标.o,为什么?
- 在 decltype(auto) 的情况下,lambda 是否有特殊规则?
- 在VC++中从DLLMAIN内部调用D3D的CREATEDEVICE时,它会创建一个死锁(loaderlock?)。有没有办法克服这个问题?最终目标内
- 有没有办法让32位C 编译器遵循16位整数促销规则
- 有什么方法可以在 GNU Make 中使用变量作为规则和先决条件?
- 参数包扣减有哪些规则
- 开发C++应用程序,目标服务器有不同的std lib版本,最佳实践是什么
- 在 OpenGL 中,在保持良好帧速率的同时,VBO 中有多少个顶点的好目标是什么
- 无需规则即可将目标设为 .moc
- c++ 中是否有等同于目标 c 中的"block"的功能?
- GNU Make -在规则/目标中设置shell命令输出中的MAKEFILE变量