C++ 如何使OpenCV成为qt项目的默认库?
请假设我想链接Qt creator中的OpenCV库,通常,我会使用C++ 如何使OpenCV成为qt项目的默认库?,c++,qt,opencv,qt5,qmake,C++,Qt,Opencv,Qt5,Qmake,请假设我想链接Qt creator中的OpenCV库,通常,我会使用INCLUDEPATH添加标题,并使用qmake文件中使用的LIBS变量链接库,但如果我们在大多数项目中使用OpenCV,那么每次都必须包含OpenCV库,那么有没有办法在创建项目时自动添加opencv库呢。 我每次都使用下面的命令为我的项目添加OpenCV库 INCLUDEPATH += -I/usr/local/include/opencv LIBS += -L/usr/local/lib -lopencv_stitchin
INCLUDEPATH
添加标题,并使用qmake文件中使用的LIBS
变量链接库,但如果我们在大多数项目中使用OpenCV,那么每次都必须包含OpenCV库,那么有没有办法在创建项目时自动添加opencv库呢。
我每次都使用下面的命令为我的项目添加OpenCV库
INCLUDEPATH += -I/usr/local/include/opencv
LIBS += -L/usr/local/lib -lopencv_stitching -lopencv_superres ...and etc.
更新 我将为OpenCV4使用以下标题:
INCLUDEPATH += /usr/local/include/opencv4
当您安装opencv时,您还必须安装
opencv.pc
文件,该文件可用于简化操作,因为Qt支持package.config,如果支持,它将替换以下内容:
unix: CONFIG += link_pkgconfig
unix: PKGCONFIG += opencv
实际上,Qt Creator提供了一种简单的方法,您只需右键单击项目名称并选择“添加库”选项:
然后将出现一个对话框,您必须在其中选择库的类型:
在本例中,我使用了第四个选项,并输入了库的名称:opencv
然后按“下一步”和“完成”按钮。1)您可以在mkspecs/features
目录中创建.prf(项目功能)文件:
/usr/share/qt5/mkspecs/features/opencv.prf
现在只需将CONFIG+=opencv
添加到.pro文件中,即可使其正常工作。或者您甚至可以通过编辑mkspecs/qconfig.pri
自动启用此功能:
/usr/share/qt5/mkspecs/qconfig.pri
顺便说一句,qconfig.pri
是qt_config
的一部分,它由所有QMake的机器相关规范加载,因此它应该始终工作。但是,也可以只修补特定规范(例如,/usr/share/qt5/mkspecs/linux-g++/qmake.conf
,或适合您的配置的任何规范)。当然,甚至可以将所有这些INCLUDEPATH+=…
和LIBS+=…
直接添加到qmake.conf
中,并完全删除.prf文件
2) 或者,如果您不想污染Qt安装,您可以使用手动包括:
opencv.pri
myprogram.pro
谢谢,我使用pkg config,但是我必须将这两行添加到每个.pro文件中?@saeedmasoomi是的,只有这两行,而不是每个opencv包。
INCLUDEPATH += -I/usr/local/include/opencv
LIBS += -L/usr/local/lib -lopencv_stitching -lopencv_superres ...and another libraries
...
CONFIG += ... opencv
...
INCLUDEPATH += -I/usr/local/include/opencv
LIBS += -L/usr/local/lib -lopencv_stitching -lopencv_superres ...and another libraries
include(path/to/opencv.pri)
...