OpenCV3.1-vc2008编译

本文详细介绍了如何在VC2008环境下利用CMake成功编译OpenCV3.1的过程,包括下载、配置和编译等关键步骤。注意到了在不同版本的编译器和环境下的具体差异和解决办法,确保了编译过程的顺利进行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文尝试对OpenCV3.1在VC2008下进行编译,有不合理的地方请各位多多指正, 感谢!

1. 下载opencv-3.1.0.exe,并解压;
比如解压到:D:\opencv;
2. 安装CMake;
推荐版本:CMake 3.4.3
3. 打开CMake,选择opencv“源代码”所在目录和“目标”文件所在目录;
比如:
源代码目录:D:\opencv\sources
目标目录 :D:\opencv\sources
4. 点“configure”按钮,并选择编译器版本;
这里写图片描述
5. 这一步需要注意:在参数列表中:
1) 3D库opengl默认是不编译的,如果要编译,需要勾选:WITH_OPENGL;
这里写图片描述
2)VC 默认为编译动态库,如果要编译静态库需要取消勾选 :BUILD_SHARED_LIBS
这里写图片描述
3)VC在编译静态库的时候默认为以静态运行时库的方式编译,在VC中为“多线程(/MT)”
如果要使用动态运行时库”多线程DLL(/MD)”需要 取消勾选:BUILD_WITH_STATIC_CRT
这里写图片描述
4)默认不编译示例程序,如果需要,则勾选:BUILD_EXAMPLES;
这里写图片描述
6. 点“generate”按钮:
这里写图片描述
7. 如果编译器选择VC,则打开D:\opencv\sources\OpenCV.sln进行编译;
在解决方案管理器中,在INSTALL项目上点右键“生成”,VS会启动整个OpenCV编译链,
如果全部编译通过,则会安装在D:\opencv\sources\install目录中;
这里写图片描述
8. 注意事项:
1)如果用VC2008或以下版本编译,需要解压并复制inttypes中的文件到
D:\opencv\sources目录中。
2)如果用VC2008或以下版本编译,直接编译会出现报错:
报错1:
报错文件:D:\opencv\sources\modules\videoio\src\cap_mjpeg_decoder.cpp,第793行,
需要做如下改动:
m_file_stream.read(result.data(), chunk.m_size);
修改成:
m_file_stream.read(&result[0], chunk.m_size);
原因是std::vector不支持.data()方法;
这里写图片描述
报错2:
报错文件:D:\opencv\sources\samples\cpp\detect_mser.cpp,第285行
需要做如下改动:
float pi = (float)acos(-1);
修改成:
float pi = (float)acos((float)-1);
原因是acos编译的时候类型不能匹配,
这里写图片描述


inttypes下载地址:inttypes.zip

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值