我是Qt 5和Qt Creator的新手。我创建了一个名为D20Controls的库项目。我有D20Controls.lib文件。在我的项目中,我想使用我的lib D20Controls类。所以我右键单击我的项目并执行Add Library ...我选择外部库,然后浏览到我的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':没有这样的文件或目录
如何使用我的lib? (我尝试过静态链接和动态链接)
我错过了什么?
答案 0 :(得分:1)
解决此类问题的步骤:
在文件系统中查找D20Controls.h
。如果有多个,请确定哪个是您想要包含的正确的。
找到一个实际执行的 compile 命令(例如,其中包含-o main.o
和main.cpp
的命令),有几个但它们通常应该具有相同的{一个项目中的{1}}标志。如果您从Qt Creator编译,请查看屏幕底部的“编译输出”选项卡。如果从命令行编译,请向上滚动,甚至复制粘贴到某个编辑器。
查看编译命令中是否有-I
选项,该选项与正确的包含文件的位置匹配。
如果没有,请在-I...something...
文件中添加或修复它,重新运行qmake,build。
以上适用于查找标头,而.pro
标志适用于编译命令,后者指定包含路径。如果它是抱怨的链接器(通常在这样的情况下发生,在你修复包含之后),然后找到链接命令(一个包含-I
个文件,如.o
)之类的东西,然后看看for -o final-program-name
选项,指定链接路径。