配合Opencv2.4.9,CMake3.12.1和VS2010在win10下构建项目踩坑记录
配合Opencv3,CMake和VS2010在win10下构建项目踩坑记录
参考https://blog.****.net/qq_26623659/article/details/78322782
博文中是x64,但是我配置的是x86。
这个博客中的内容,进行配置环境变量等等,尝试文中的例子,未使用CMake来构建项目,而是直接在vs2010中新建项目、添加cpp文件的方法进行测试,opencv库可以正常调用,这个最简单的程序可以输出图片。
下面使用CMake来构建工程,再来测试构建的工程在上面已经配置了opencv2.4.9的vs2010中的运行结果。
首先有一些配置:
想做到不用每次新的工程都要重新配置:)
- 工程包含目录(include)的配置
参考https://www.cnblogs.com/wgwyanfs/p/7118563.html 进行如下操作
在包括目录的路径中,除了提供的(编译好的)库之外,再加入之前使用CMake编译的库(这样才能进行源码的跟踪调试?尚未验证)的路径,且之前的不删除:
- 工程库目录(lib)的配置
在库目录的路径中,已经有为VS2010预先编译好的动态库与静态库,因此能够不需要编译直接加入:
这个是之前使用opencv的时候参考https://www.cnblogs.com/woshitianma/p/3853447.html 进行配置的,选择X86的理由详见博文(这个博文是我之前参考着来配置vs2010的opencv2.4.9用的)。
此时在加入之前CMake编译的库:
因为我和文中之前编译opencv的方法不一样,我是参考https://blog.****.net/u014365862/article/details/50540825 文中第三步,在debug和release下分别发现ALL_BUILD,右键并Bulid的,所以对应https://www.cnblogs.com/wgwyanfs/p/7118563.html 这篇文章,没有找到类似的D:\OpenCV24\install\lib目录,所以添加了如下所示:
- 环境变量配置
自己编译的库在D:\opencv\opencv\opencv_build\install\x86\vc10\bin
使用提供的库在
D:\opencv\opencv\build\x86\vc10\bin
至此完成配置,下面检验。
结果还是有问题:
网上说
error LNK2019都是只有函数声明而找不到函数实现
检查:
附加库目录
附加依赖项
参考https://blog.****.net/u014365862/article/details/50540825
将新建工程项目,在属性中,Include Directories还是原来的路径,只是Library Directories改变为重编译过后的.lib所在路径。
即删掉lib原来的未编译的路径。
原来如上图,删掉后如下图(三个变成两个):
结果还是同样的错误……
参考https://blog.****.net/u014365862/article/details/50540825 中的下列:
前往“删除原有opencv环境变量路径”。。。。
删之前是这样的,Mark一下:
删完是这样的:
再重新生成项目,还是之前的错误23333
失败了!!!!
尝试将原来空白的连接器-常规-添加库目录改成下面这样: