zl程序教程

您现在的位置是:首页 >  工具

当前栏目

Qt--在.pro文件中添加链接库的写法

Qt文件 -- 添加 Pro 写法 链接库
2023-09-11 14:16:44 时间

要在Qt中使用OpenCV,按照OpenCV与Qt的环境搭建及Demo中的步骤配置了Qt Creator的编译选项,选择MSVC,再修改.pro文件:

INCLUDEPATH += D:\Program Files\opencv\opencv3.4.0\build\include
 
CONFIG(debug, debug|release): {
LIBS += -LD:\Program Files\opencv\opencv3.4.0\build\x64\vc14\lib \
-lopencv_world340d
} else:CONFIG(release, debug|release): {
LIBS += -LD:\Program Files\opencv\opencv3.4.0\build\x64\vc14\lib \
-lopencv_world340
}
 

结果qmake没什么问题,编译时报错了……提示“LNK1146: 没有用选项“/LIBPATH:”指定的参数”

 百度之,发现问题是我的路径名里有空格(点也不行)。INCLUDEPATH直接加上双引号就行,而对于链接库,CSDN里给的解决方法都是使用MSVC的#pragma comment,但这样对跨平台有点影响啊……

无奈只好去找.pro文件编写的官方文档,在 Variables | qmake Manual这里我找到了想要的内容:

那么第一个-L用双引号加上就行啦~

修改并使编译成功的代码:

INCLUDEPATH += "D:\Program Files\opencv\opencv3.4.0\build\include"
 
CONFIG(debug, debug|release): {
LIBS += "-LD:\Program Files\opencv\opencv3.4.0\build\x64\vc14\lib" -lopencv_world340d
} else:CONFIG(release, debug|release): {
LIBS += "-LD:\Program Files\opencv\opencv3.4.0\build\x64\vc14\lib" -lopencv_world340
}

/*****************************

QT Creator 添加外部库的方法:

  1.代码撰写

    1.1 附加头文件包含目录

      1.1.1 INCLUDEPATH += ./boost/include \

                 src/thirdpart/include            //用相对路径的方法包含了两include

      1.1.2 INCLUDEPATH += D:/boost/include \

                 E:/vms/include                     //使用绝对路径包含两个include

    1.2 链接库

      1.2.1 LIBS += -LD:/vms/Libraries/ -lib1 \ 

              -LD:/vms/Libraries/ -lib2 \                    //注意 -L 以及跟路径间没有空格

      1.2.2  LIBS += D:/vms/Libraries/lib1 \                         //使用绝对路径没有-L -l

           1.2.3 LIBS += $$PWD/Libraries/lib1 \                        //相对路径(只适用于windows的静态库)

    注意(.lib  .a是静态库 ; .so 是动态库) , 对于配置了动态库的必须把相应的dll至于exe执行目录或者在环境变量中配置路径

  2. 通过右键项目,点击添加库(不知道为什么有时候可以,有时候不行)

    

    选择外部库

 /*************************

win32
{
INCLUDEPATH += 'C:/Program Files (x86)/IVI Foundation/VISA/WinNT/Include'
LIBS+='C:/Program Files (x86)/IVI Foundation/VISA/WinNT/lib/msc/visa32.lib'
}

/***********************

#INCLUDEPATH += E:\whh\softTool\Qt\files\OpenCV-MinGW-Build-OpenCV-4.1.1-x64\include
#INCLUDEPATH += E:\whh\softTool\Qt\files\OpenCV-MinGW-Build-OpenCV-4.1.1-x64\include\opencv2

#LIBS += E:\whh\softTool\Qt\files\OpenCV-MinGW-Build-OpenCV-4.1.1-x64\x64\mingw\bin\libopencv_*.dll
INCLUDEPATH +=.\OpenCV-MinGW-Build-OpenCV-4.1.1-x64\include
INCLUDEPATH += .\OpenCV-MinGW-Build-OpenCV-4.1.1-x64\include\opencv2

LIBS += .\OpenCV-MinGW-Build-OpenCV-4.1.1-x64\x64\mingw\bin\libopencv_*.dll