我对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':没有此类文件或目录
我该如何使用我的库? (我尝试过静态链接和动态链接)
我想念什么?
最佳答案
解决此类问题的步骤:
D20Controls.h
。如果有多个,请确定要包含的是正确的一个。 -o main.o
和main.cpp
的命令),虽然有多个,但是通常在一个项目中它们应该具有相同的-I
标志。如果从Qt Creator进行编译,请查看屏幕底部的“编译输出”标签。如果从命令行编译,请向上滚动甚至复制粘贴到某个编辑器。 -I...something...
选项,该选项与正确的包含文件的位置匹配。 .pro
文件中添加或修复它,然后重新运行qmake,进行构建。 以上适用于查找头文件,并且
-I
标志用于编译命令,该命令指定包含路径。如果是链接器发出错误消息(通常在这种情况下发生,则在修复包含问题后会发生这种情况),然后找到链接命令(其中包含一堆.o
文件,以及类似-o final-program-name
的东西),然后查找-L
选项,该选项指定了链接路径。关于c++ - Qt #include不适用于外部库,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19784070/