zoukankan      html  css  js  c++  java
  • VS下配置OpenCV2.4.7常见问题

    1.对于环境配置:

    下载安装到一个你喜欢的环境(不一定非是C盘下)-------安装好后配置环境:【计算机】->【(右键)属性】->【高级系统设置】->【高级(标签)】->【环境变量】->“双击”系统变量中的PATH->在变量值里面添加相应的路径。

    对于32位系统,就添加:

    ”;…… opencvuildx86vc10in”(和之前的就有有的环境变量用英文的分号“;”进行分隔)

    而对于64位系统,可以两个都添加上:

    ”;…… opencvuildx86vc10in”

    和”…… opencvuildx64vc10in”,

    要添加那一个主要看你用的是编译器是32win还是64win

    我这里是64位系统但是使用的编译器是32win所以就加一个32位的路径,但其实两个都加上方便编译器的切换,当切换编译器时可以直接使用而不用在进行配置。

    2.新建一个项目:

    可以直接建一个 Win32控制台应用程序(也可以文件-->新建-->项目-->Visual C++-->Win32控制台应用程序)新建一个项目。

    直接下一步就好,根据需要选取“空项目”即可。

    新建一个cpp源程序:接着在解决方案资源管理器的【源文件】处右击->添加->新建项,在工程中新建一个cpp源文件。

    3.对新建项目进行环境配置:

    首先找到属性管理器:

    也可以通过视图-->属性管理器

    在新出现的“属性管理器”工作区中,点击项目->Debug|Win32->Microsoft.Cpp.Win32.userDirectories(右键属性,或者双击)即可打开属性页面。

    将你安装的opencv以下三个目录引进:

    ······opencvuildinclude

    ······opencvuildincludeopencv

    ······opencvuildincludeopencv2 

    在库目录中引入opencv的lib库函数:

    ······opencvuildx86vc10lib(x86这个是编译器win32还是64,与操作系统无关。vc10是指VS2010我用的就是这个版本)

     

    配置链接库:“属性管理器”工作区中,鼠标右键项目-->属性--》调节配置选项Debug|Release-->【通用属性】 ->【链接器】->【输入】->【附加的依赖项】

    Debug下添加以下库:

    opencv_calib3d247d.lib
    opencv_contrib247d.lib
    opencv_core247d.lib
    opencv_features2d247d.lib
    opencv_flann247d.lib
    opencv_gpu247d.lib
    opencv_highgui247d.lib
    opencv_imgproc247d.lib
    opencv_legacy247d.lib
    opencv_ml247d.lib
    opencv_nonfree247d.lib
    opencv_objdetect247d.lib
    opencv_ocl247d.lib
    opencv_photo247d.lib
    opencv_stitching247d.lib
    opencv_superres247d.lib
    opencv_ts247d.lib
    opencv_video247d.lib
    opencv_videostab247d.lib

     Release下添加一下库(直接复制就可以)

    opencv_calib3d247.lib
    opencv_contrib247.lib
    opencv_core247.lib
    opencv_features2d247.lib
    opencv_flann247.lib
    opencv_gpu247.lib
    opencv_highgui247.lib
    opencv_imgproc247.lib
    opencv_legacy247.lib
    opencv_ml247.lib
    opencv_nonfree247.lib
    opencv_objdetect247.lib
    opencv_ocl247.lib
    opencv_photo247.lib
    opencv_stitching247.lib
    opencv_superres247.lib
    opencv_ts247.lib
    opencv_video247.lib
    opencv_videostab247.lib

    开心的觉得可以用了结果出现了这样的错误

    不知道哪里错了,查了一下:

    1.我解决是项目属性那里状态不是Debug状态而是活动(Debug),调到debug就可以正常运行了。

    2. 网上解释:

    这算是opencv的一个bug,工程属性里面关于带d和不带d的lib文件的附加依赖项的问题,就算配置好了每次想debug和release下都运行还得手动在工程属性里面加。当得到这样的错误时,可以把调试方式改一改,debug和release互换:

    或者打开当前工程(注意是当前工程的属性页,不是通用属性页)的属性页,debug或者release哪个报错,就把对应的带d或不带d的lib添加到【“当前”工程属性】->【链接器】->【输入】->【附加的依赖项】下即可。

    刚开始用遇到的错误就这一个,先把网上的收藏一下:相关网址:http://blog.csdn.net/poem_qianmo/article/details/19809337/

    1. 找不到core.h

    出现这个问题是因为include的时候粗心大意了。

    如果你的版本是2.4.6。在这个版本下,opencv根文件夹下面就有个include,但我们配置的时候如果包含的是他就坑爹了。

    正确的应该填build里面的那个include。

     2.无法解析的外部命令

    这个问题其实上面有过解释了,不管你是32位还是64位操作系统,只用管你用win32编译器还是X64 编译器。

    其实配置选择什么跟64位还是32位系统没有直接的关系,而是在于你在编译你的程序的时候是使用那个编译器。

    编译器是win32,就用x86

    编译器是X64,就用X64。不过一般情况下,都是用的win32的X86编译器。所以,

    无论32还是 64位操作系统,配置文件最好都选择x86版的。

    3.关于形如--error LNK2005:xxx 已经在 msvcrtd.lib ( MSVCR90D.dll ) 中定义

    出现这个问题,把静态库不包含就行了。

     4. 应用程序无法正常启动0xc000007b

    Lib包含的问题。也许你同时包含了X86和X64的,或者包含出错错了。或者是对于windows 8 64位,dll要放在和System32文件夹同级的SysWOW64文件夹中。

    5.无法打开文件“opencv_ml249d.lib”系列的错误

    关于LINK : fatal error LNK1104: 无法打开文件“opencv_ml249d.lib”,解决方法是:项目->属性管理器->Debug|Win32->Microsoft.Cpp.Win32.userDirectories中的属性页面->连接器->常规里面的附加库目录中加入相应的lib文件目录。
     
    这个错误主要是因为包含的库目录中,和包含的附加依赖项不能相互对应照成的。
    也许是“opencv_ml249d.lib“多加了一个空格,成了”opencv_ml249d. lib“,就会报错。
    遇到这个问题,检查三个方面:
     
    1.检查第四步”4.工程库(lib)目录的配置“库目录中的路径是否准确。
    2.检查第五步”5.链接库的配置“中“附加依赖项”的格式有没有问题,有没有多空格,版本号248,249什么的有没有问题,有没有多一个空格,少一个点什么的。
    3.第二步环境变量的配置是否准确。
     
     
    以上错误仅为收藏!!!
  • 相关阅读:
    原型链与继承
    js错误处理Try-catch和throw
    函数柯里化
    js函数节流
    事件委托
    innerHTML属性的内存和性能问题
    微信小程序左滑显示按钮demo
    this的作用
    前端工作面试经典问题(超级全)
    HTML5入门指南
  • 原文地址:https://www.cnblogs.com/linmengran/p/5898303.html
Copyright © 2011-2022 走看看