Qt #include 无法使用外部库

Qt #include not working with External Library

本文关键字:外部 #include Qt      更新时间:2023-10-16

我对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文件,我无法编译错误,例如:...主.cpp:4: 错误: C1083: 无法打开包含文件:"D20控件": 没有此类文件或目录

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

我错过了什么?

解决此类问题的步骤:

  1. 在文件系统中查找D20Controls.h。如果有多个,请确定要包含的正确选项。

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

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

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


上面适用于查找标头,-I 用于指定包含路径的编译命令的标志。如果是链接器抱怨(在这种情况下通常会发生,在修复包含之后),然后找到链接命令(一个包含一堆.o文件,以及类似 -o final-program-name 的东西),然后查找-L选项,它指定链接路径。