2017-12-02 53 views
1

假设我们要链接OpenCV库Qt的,如果我想介绍我们使用INCLUDEPATH普通的形势和QMAKE(.pro文件)LIBS命令,但如果你是一个机视觉工程师,那么你的大部分项目都涉及到OpenCV库,所以我们如何才能防止这种乏味和无聊的行为。换句话说,我想让Qt自动将这个库添加到所有新项目中。OpenCV库添加到所有的Qt项目

我使用下面的命令每次为我的项目添加OpenCV库。

INCLUDEPATH += -I/usr/local/include/opencv 
LIBS += -L/usr/local/lib -lopencv_stitching -lopencv_superres ...and another libraries 

我的操作系统是Ubuntu的16.04.3

回答

2

1)您可以创建一个在您mkspecs/features目录的.prf(项目功能)文件:

/usr/share/qt5/mkspecs/features/opencv.prf

INCLUDEPATH += -I/usr/local/include/opencv 
LIBS += -L/usr/local/lib -lopencv_stitching -lopencv_superres ...and another libraries 

现在只需在您的.pro文件中添加CONFIG += opencv以使其工作。或者,你甚至可以通过编辑mkspecs/qconfig.pri自动启用此功能:

/usr/share/qt5/mkspecs/qconfig.pri

... 
CONFIG += ... opencv 
... 

BTW。 qconfig.priqt_config的一部分,它由所有QMake的机器相关规范加载,所以它应该始终工作。但是,也可以仅修补特定的规范(例如,/usr/share/qt5/mkspecs/linux-g++/qmake.conf或适用于您的配置的任何内容)。当然,甚至可以将所有这些INCLUDEPATH+=...LIBS+=...直接添加到该qmake.conf并完全清除.prf文件。

2)另外,如果你不想污染Qt的安装,你可以使用手动包括:

opencv.pri

INCLUDEPATH += -I/usr/local/include/opencv 
LIBS += -L/usr/local/lib -lopencv_stitching -lopencv_superres ...and another libraries 

myprogram.pro

include(path/to/opencv.pri) 
... 
+0

哇:)这是非常有帮助的,这正是我想要的。 –

3

当你安装了OpenCV的你还必须安装opencv.pc文件,这个文件可以用来制作简单,因为Qt支持package.config,如果所以,它取代它显示了以下内容:

unix: CONFIG += link_pkgconfig 
unix: PKGCONFIG += opencv 

其实Qt Creator中提供了一个简单的方法,你只需要在你的项目的名称,点击右键并选择选项添加库:

enter image description here

然后你会得到一个对话框,您必须选择库的类型:

enter image description here

在这种情况下,我使用的第四个选项,并把库的名称: OpenCV的。

enter image description here

然后按Next和Finish按钮。

+0

谢谢,我使用pkg-config,但我必须将这两行添加到每个.pro文件中? –

+0

@saeedmasoomi是的,只有那2行,并不是每一个opencv包。 – eyllanesc