繁体   English   中英

Qt #include不适用于外部库

[英]Qt #include not working with External Library

我对Qt 5和Qt Creator还是陌生的。 我创建了一个名为D20Controls的库项目。 我有D20Controls.lib文件。 在我的项目中,我想使用lib D20Controls的类。 因此,我右键单击我的项目,然后执行“添加库...”。选择“外部库”,然后浏览至D20Controls.Lib文件。 现在,所有内容似乎都已正确添加到我的.pro文件中。

win32:CONFIG(release, debug|release): LIBS += -L$$PWD/../../build-D20Controls-Desktop_Qt_5_1_1_MSVC2012_64bit-Debug/release/ -lD20Controls
else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/../../build-D20Controls-Desktop_Qt_5_1_1_MSVC2012_64bit-Debug/debug/ -lD20Controls

INCLUDEPATH += $$PWD/../../build-D20Controls-Desktop_Qt_5_1_1_MSVC2012_64bit-Debug/debug
DEPENDPATH += $$PWD/../../build-D20Controls-Desktop_Qt_5_1_1_MSVC2012_64bit-Debug/debug

win32:CONFIG(release, debug|release): PRE_TARGETDEPS += $$PWD/../../build-D20Controls-Desktop_Qt_5_1_1_MSVC2012_64bit-Debug/release/D20Controls.lib
else:win32:CONFIG(debug, debug|release): PRE_TARGETDEPS += $$PWD/../../build-D20Controls-Desktop_Qt_5_1_1_MSVC2012_64bit-Debug/debug/D20Controls.lib

但是当我想在我的项目#include <D20Controls>或其中的任何.h文件中使用它时,我无法编译如下错误:... main.cpp:4:错误:C1083:无法打开包含文件:' D20Controls:没有此类文件或目录

我该如何使用我的库? (我尝试过静态链接和动态链接)

我想念什么?

解决此类问题的步骤:

  1. 在文件系统中找到D20Controls.h 如果有多个,请确定要包括的是正确的一个。

  2. 找到一个实际执行的编译命令(例如,其中包含-o main.omain.cpp命令),有几个,但是通常在一个项目中它们应该具有相同的-I标志。 如果从Qt Creator进行编译,请查看屏幕底部的“编译输出”标签。 如果从命令行编译,请向上滚动甚至复制粘贴到某个编辑器。

  3. 查看compile命令上是否有-I...something...选项,该选项与正确的include文件的位置匹配。

  4. 如果没有,请在.pro文件中添加或修复它,然后重新运行qmake,进行构建。


以上适用于查找头文件,以及-I标志用于编译命令,该命令指定包含路径。 如果是链接器发出错误消息(通常在这种情况下发生,则在修复包含问题后会发生这种情况),然后找到链接命令(一个带有一堆.o文件,以及-o final-program-name ),然后寻找-L选项,它指定链接路径。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM