1

我对 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: error: C1083: Cannot open include file: 'D20Controls': No such文件或目录

我怎样才能使用我的 lib ?(我试过静态链接和动态链接)

我错过了什么?

4

1 回答 1

1

解决此类问题的步骤:

  1. D20Controls.h在您的文件系统中查找。如果有多个,请决定哪一个是您想要包含的正确的。

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

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

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


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

于 2013-11-05T07:59:24.960 回答