openCV2.4.12+vs2008+cmake配置出错及解决方案

本文详细记录了在VC 2008 Express环境下安装OpenCV2.4.12时遇到的问题,包括Windows安装错误、版本匹配问题、CMake配置错误、编译错误以及测试程序运行问题,并提供了相应的解决方案。通过调整CMake设置、手动编译OpenCV库以及正确配置项目属性,最终成功解决了所有问题。

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

VC 2008 Express下安装OpenCV2.4.12

参考opencv中文网站给出的教程,非常详细http://wiki.opencv.org.cn/index.php/VC_2008_Express%E4%B8%8B%E5%AE%89%E8%A3%85OpenCV2.3.1


过程中出现的error以及解决方法

  1. openCV版本选择
    一般就是选择最新的,官网上最新的是2.4.13,extract后出现下面问题
    Windows install: can not open file “OpenCV-2.4.5.exe” as archive
    这里写图片描述

    最后解决方案:下载opencn-2.4.12安装包

  2. 版本匹配问题
    在..\opencv\build\x86下,会有如下几个文件夹
    这里写图片描述
    安装说明中,vs2008要选择的是vc9,而vc11和vc12分别匹配vs2010和vs2011

    解决方案
    自己用vs2008编译OpenCV(也就是安装教程中用cmake自己编译过程)

  3. 按照安装说明下载cmake之后,在cmake-gui中设置where is the
    source code路径为OpenCV安装路径
    这里写图片描述
    出现错误 :CMake Error: The source directory “../opencv” does not appear to contain CMakeLi sts.txt.

    解决方案
    将where is the source code路径改为F:/Program Files (x86)/opencv /sources

  4. cmake configure过程出错
    这里写图片描述
    CMake error: error in configuration process, project files may be invalid

    出错原因及解决方案
    Configure 选项选成了Visual Studio 9 2008 win64,应该按照官网选择Visual Studio 9 2008

  5. 编译 OpenCV Debug和Release版本库
    这里写图片描述
    编译出错,无法打开文件“python27_d.lib”

    解决方案:直接忽略

  6. 配置VS2008和环境变量
    官网给出的路径稍微有点错误,应按如下路径配置
    配置lib路径:
    ..\opencv\build\my\install\ x86\vc9\lib
    设置环境变量
    ..\opencv\build\my\install\ x86\vc9\bin

  7. 配置项目属性
    按官网所示给项目属性添加附加依赖项,但编译测试程序会有如下报错出现:
    INK : fatal error LNK1104: 无法打开文件“opencv_calib3d2412.lib;”

    解决方案:注意两点
    1、文件名称应该跟版本相对应,如opencv-2.4.12对应文件 名“opencv_calib3d 2412.lib”
    2、opencv_calib3d2412.lib后面不能加分号

    2.4.12版本参考下面:

    opencv_calib3d2412d.lib
    opencv_contrib2412d.lib
    opencv_core2412d.lib
    opencv_features2d2412d.lib
    opencv_flann2412d.lib
    opencv_gpu2412d.lib
    opencv_highgui2412d.lib
    opencv_imgproc2412d.lib
    opencv_legacy2412d.lib
    opencv_ml2412d.lib
    opencv_objdetect2412d.lib
    opencv_ts2412d.lib
    opencv_video2412d.lib

    opencvTest.cpp

    
    //显示图像文件
    
    #include <opencv2/opencv.hpp>
    
    using namespace std;
    
    
    #pragma comment(linker, "/subsystem:\"windows\" /entry:\"mainCRTStartup\"")
    
    
    int main()
    {
        const char *pstrWindowsTitle = "OpenCV第一个程序(http://blog.youkuaiyun.com/MoreWindows)";
    
        //从文件中读取图像
        IplImage *pImage = cvLoadImage("baboon.jpg",1);
         if(!pImage) printf("Could not load image file\n");
        //创建窗口
        cvNamedWindow(pstrWindowsTitle, CV_WINDOW_AUTOSIZE);
    
        //在指定窗口中显示图像
        cvShowImage(pstrWindowsTitle, pImage);
    
        //等待按键事件
        cvWaitKey();
    
        cvDestroyWindow(pstrWindowsTitle);
        cvReleaseImage(&pImage);
        return 0;
    }
  8. 运行测试程序,图片无法显示,一片灰色
    这里写图片描述

    解决方案
    将直接拷贝到代码所在的文件,直接复制在vs页面的解决方案资源管理器没有用
    这里写图片描述


Reference

[1]http://blog.youkuaiyun.com/morewindows/article/details/8225783/
[2]http://wiki.opencv.org.cn/index.php/VC_2008_Express%E4%B8%8B%E5%AE%89%E8%A3%85OpenCV2.3.1
[3]http://www.opencv.org.cn/forum.php?mod=viewthread&tid=32651

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值