如果你安装的是使用Microsoft Visual Studio编译器的Qt(例如我安装的这个Qt,安装包文件名为:qt-windows-opensource-5.2.0- msvc 2012-x86-offline.exe),则不需要网传的对OpenCV进行编译的这个麻烦过程,直接利用VS的预编译文件即可。 需要注意的一点是Q
如果你安装的是使用Microsoft Visual Studio编译器的Qt(例如我安装的这个Qt,安装包文件名为:qt-windows-opensource-5.2.0- msvc 2012-x86-offline.exe),则不需要网传的对OpenCV进行编译的这个麻烦过程,直接利用VS的预编译文件即可。
需要注意的一点是Qt不支持Visual Studio Express版。另外你最好先在Visual Studio下完成OpenCV简单demo的编译(参看我之前的博文),确保OpenCV环境设置正确。
使用Qt Creator这个IDE而不是VS的好处在于Qt Creator能够非常方便地调用所有Qt的组件,而且更加轻量级、启动也很快速,开发跨平台应用时也更加方便(主流平台下都有Qt Creator,而只有Windows才有Visual Studio)。
Qt程序的项目配置文件保存在.pro文件里,类似于VS2012中所配置的,Qt也没有“全局”的INCLUDE和LIB(库)路径的修改功能,而是通过对pro文件的改动来配置编译时需要包含的路径和库文件。
在Qt Creator里,新建一个项目,Qt控制台应用就可以了。然后在“编辑”面板里打开项目的pro文件,如下图所示:
添加下面几行:
INCLUDEPATH += D:/openCV_build/include
win32:CONFIG(debug, debug|release): {
LIBS += -LD:/openCV_build/x86/vc11/lib \
-lopencv_core247d \
-lopencv_imgproc247d \
-lopencv_highgui247d \
-lopencv_ml247d \
-lopencv_video247d \
-lopencv_features2d247d \
-lopencv_calib3d247d \
-lopencv_objdetect247d \
-lopencv_contrib247d \
-lopencv_legacy247d \
-lopencv_flann247d
} else :win32:CONFIG(release, debug|release): {
LIBS += -LD:/openCV_build/x86/vc11/lib \
-lopencv_core247 \
-lopencv_imgproc247 \
-lopencv_highgui247 \
-lopencv_ml247 \
-lopencv_video247 \
-lopencv_features2d247 \
-lopencv_calib3d247 \
-lopencv_objdetect247 \
-lopencv_contrib247 \
-lopencv_legacy247 \
-lopencv_flann247
}
路径使用斜杠(/)而不是反斜杠(\),INCLUDEPATH是项目编译时会包含的头文件目录,后面加上的是OpenCV预编译文件的include(这里的路径和我之前那篇Visual Studio 2012配置OpenCV环境的是一样的),LIBS则是编译时需要链接的文件,-L后紧跟的是目录,-l后则紧跟对应的动态链接,和VS中不太一样的是不用写出完整的文件名(没有后面的.lib后缀),和VS2012中类似的则是这里通过CONFIG来确认编译类型是debug还是release来使用debug链接或release链接。前面用win32则保证这些链接仅在Windows下编译时被链接器链接。
前面几行的末尾的反斜杠是用来把一行内容分成多行写(类似C++的语法),这样做的目的主要是清晰易读,不必写一行超长的语句。
pro文件修改完成后保存,回到main.cpp文件里,一个简单的OpenCV demo内容如下:
#include
using namespace cv;
int main()
{
Mat img = imread( "D:/demo.png" );
if (img.empty())
{
fprintf (stderr, "Error: load image failed." );
return -1;
}
namedWindow( "image" , CV_WINDOW_AUTOSIZE);
imshow( "image" , img);
waitKey();
return 0;
}
它会载入D:/demo.png这个图片文件,你可能需要进行一些改动以便让该demo顺利运行。另外之前改动了pro文件,但是Qt Creator很可能认为项目配置没有变化,因此不会自动重新运行qmake,需要手动运行一次以免出现“LNK 2019”链接错误或者找不到包含目录的错误。“构建->执行qmake”,然后再“构建->重新构建项目”。以后没有改动pro的话,就不需要执行qmake了,直接点左侧面板上那个榔头(Ctrl+B)构建项目就可以了,绿色三角形(Ctrl+R)运行程序,绿色三角形带虫子(F5)调试程序。
查看更多关于QT5.2+vs2012+opencv2.4.7环境配置的详细内容...