C++ 如何使OpenCV成为qt项目的默认库?

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

请假设我想链接Qt creator中的OpenCV库,通常,我会使用
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)
...