OpenCV3.4.0 VS2015x86 Qt5.8.0 cuda9.0编译配置搭环境

最近由于又需要opencv搞研究,所以开始搭环境,网上攻略也很多,自己各种查攻略算是搞定了。在这里记录一下思路和特别的坑。坑在最下方,可以先看一眼。

思路:

首先下载opencv和opencv_contrib_3.4.0,opencv完成后里面有build和sources文件夹,其中build是opencv官方帮你编译好的东西,你打开后可以找到C:\opencv\opencv\build\x64\vc14\bin以及C:\opencv\opencv\build\x64\vc14\lib,这两个文件夹就是存放dll和lib两种库的地方。但我们一般自己编译,所以这个也就不是很必要了。

往下看,sources里面已经有了cmakelists这个txt文件,这个文件就是用来帮你直接在cmake软件生成opencv源码项目的txt文件。同理,opencv_contrib_3.4.0文件夹里也有这些对应的东西,C:\opencv\opencv_contrib-3.4.0\modules\aruco,比如打开这个文件夹,里面也有各种源代码(src文件夹里),各种例子(samples文件夹里)。最终这里面的各种代码和例子都可以通过cmake统一生产一个很大的VS解决方案,而你可以从那个解决方案中选择不同的项目,并且方便的搜索对应的源代码,最关键的是平时人们所说的VS编译(compile)opencv生成.lib文件就需要从这个很大的解决方案来通过build生成。

这时,你也要自己下载一些其他东西,我是按opencv官网教程下载的,但官网教程太老了,建议通读后不要完全按它的来,我下载了eigen,openexr,tbb等包,在cmake编译opencv时用,下载这些在官网教程都有提到,建议这部分参考官网教程。

之后你需要下载安装好vs2015社区版,安装好C++,因为默认是不带的,安装VS2015时要注意。

在之后你需要下载qt,看别人攻略,下载自己对应的64位的vc14的qt包(这是我的包的名字qt-opensource-windows-x86-msvc2015_64-5.8.0-rc_699,1GB多点大小),安装时直接全部选择安装就好。

在之后下载cuda,cuda是最爱出问题的,一定多参考别人文章,每一步最好拿个笔记好了,别做一步忘一步,最后来回重装。


都准备好后,开始用cmake(看看网上攻略,不要用太新版本,但也要有对应vs2015的cmake版本),打开后定义好cmake生成的文件夹,然后选C:\opencv\opencv\sources作为源代码文件夹。

之后开始configure,点击一次后要仔细读读里面的选项,with_各种东西都选好,比如cuda、qt、tbb、eigen等等,以及opencv_contrib-3.4.0别忘记了,这一步也要多参考别人攻略,之后见招拆招,估计到顺利configure并且能generate还有半天功夫,但只要不是全新的内容,网上都有攻略。

generate之后,(我选择的文件夹C:\opencv\opencv340_build_64)这里面就有OpenCV.sln这个文件了,打开里面有你全部的项目,我这里有180个,因为cuda内容比较多,我试了下不要cuda,也就80个项目,有这些内容后,直接在解决方案那build,之后估计又一堆错,还是慢慢解决,都解决后,从Solution'OpenCV'下面的CMakeTargets文件夹那选择INSTALL项目(项目符号就是两个加号),点击右键->Project Only->Build Only INSTALL,这一步后,你才会在刚刚的(我选择的文件夹C:\opencv\opencv340_build_64)文件夹里面看到install文件夹,而里面就有(C:\opencv\opencv340_build_64\install\x64\vc14\lib)和(C:\opencv\opencv340_build_64\install\x64\vc14\bin),这些都有了,你可以开始参考攻略新建一个项目,然后运行opencv了,但是新建项目后,还要添加一系列头文件和库文件,这些都在Property Manager->具体项目->Debug|x64或Release|x64这些->Microsoft.Cpp.x64.user你双击打开后,在里面修改依赖的头文件和库文件,一开始弄错不要紧,你做几个项目后就明白这都是什么了。

opencv可以运行后,记得利用cv::nameWindow函数看看qt是不是安装好了,qt安装好后,这个函数打开的窗口是可以直接进行缩放、保存窗口内容等一系列活动的。

另外再看别人攻略找一个cuda测试函数,如果cuda还不能用,那很可能得重新编译cuda。

这里面我要提到,你千万别傻到只因为一个cuda就重装,你cuda不能用,你可以卸载安装的cuda再装一个(之前笔记应该记录你添加了各种系统path路径这些,都要删除干净了),然后你可以直接打开cmake,这时你还是选择opencv里面的source,生成路径随便新建一个,然后这次不用勾选那么多东西了,(不用勾选各种with以及contrib这些),只选择cuda相关的,然后再configure,genenrate。

这样你又生成了一个包含一堆项目的并包含OpenCV.sln的文件,还是打开.sln并编译,这次等于你只编译cuda相关的opencv,编译好后同上通过INSTALL生成install文件夹,在里面把这次生成的没问题的cuda相关库,或者直接全选lib以及bin/dll这些关键文件,复制到你刚刚生成的出错的那里,基本上保留比较大的文件就没问题,旧版本的文件也要留备份以防万一。我就是这样解决了cuda库安装。


坑:

开始别觉得攻略都好长,等做起来时候少读几个字很可能会导致你重装,特别浪费时间,所以开始一定多读,不要操作,选了合适攻略后,边操作边记录,并且把攻略保存在浏览器收藏夹以便以后对照。

你可能感兴趣的:(opencv配置)