您的位置:首页 > 编程语言 > C语言/C++

eclipse c++ 编译OpenCV-3.3.0过程及遇到的问题

2018-03-14 19:41 323 查看
 
        工作电脑之前用的是vs2013,这是在自己电脑上由于使用比较少,vs下载安装包太大,平时用eclipse与idea用得也比较习惯,所以就有了这篇文章
平台:
windows 7 x64
opencv 3.3.0
cmake x64
mingw x64
eclipse 安装CDT插件支持c++
    

1.   准备工作
 
下载openCV,打开官网https://opencv.org/releases.html
这里下载完成后是exe文件,而不是下载源码



下载完成后的文件:



打开exe文件解压到指定目录:



安装CMake



安装完成后打开初始界面



安装mingw ,这里注意如果系统64位的话,建议安装64位的,在编译过程报错,我最开始下载是32位的,编译的时候直接报错了
error: 'thread'in namespace 'std' does not name a type
报是这个报错,google了半天说是重新安装就好了



安装完成cmd看下是否安装成功



 
 
2.   开始编译
在x64目录下新建一个mingw路径,存入编译完成的文件,我放的是D盘下D:\opencv\build\x64\mingw
 
下一步重要,我在编译到47%就报了这个错,然后又要重头开始,浪费了好多时间
完成算下来应该是用了一个半小时,包括出错重头开始….
报错---
sprintf_instead_use_StringCbPrintfA_or_StringCchPrintfA错误
 
...opencv/sources/modules/videoio/src/cap_dshow.cpp...
...'sprintf_instead_use_StringCbPrintfA_or_StringCchPrintfA' was not declared inthis scope ...
 
解决方式:
在cap_dshow.cpp(目录在上面) 添加一行:#define NO_DSHOW_STRSAFE
如:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#defineNO_DSHOW_STRSAFE
#include "DShow.h"
 
下一步配置cmake的source  和build就是刚开始解压的路径,这里是D:/opencv/sources,D:/opencv/build/x64/mingw(就是刚才新建的目录)
点击configrure  再点击generate,
如果以编译过程中报错如下:
报错----
... windres.exe:unknown option – W
 
在生成之前的把headers这里勾去掉就可以了编译过去了



 


生成之后打开D:/opencv/build/x64/mingw,打开cmd命令行窗口输入:mingw32-make等待到100%即可,如有出错按上面提示修正.再接着编译…
最后看到这个,表示已经编译完成可以使用了



 
3.   最后打开eclipse,新建一个c++项目(前提是已经安装eclipse的CDT插件)
在项目属性,c++build=>setting 下面





最后是显示结果
 


 int main(int arg,char** args) {

Mat src,dst;

string img ="c:\\users\\administrator\\downloads\\t1img.jpg";

src = imread(img);//图片地址

if(!src.data){//data是判断图片是存在

printf("%s\n", "图片不存在");

return -1;

}

//显示图片

namedWindow("inputimage",CV_WINDOW_AUTOSIZE);

imshow("inputimage",src);

waitKey(0);

cout << "HelloWorld" << endl; //prints Hello World

return 0;

}

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  openCV