OpenCV安装扩展模块安装一些错误分析
- 关于安装Opencv和本文
- 一,缺失xfeatures2d\nonfree.hpp
- 二,无法启动程序,“....exe”。系统找不到指定文件
- 三,无法打开文件“xxx.obj”的配置问题
- 四,opencv无法打开输入文件
- 五,由于找不到opencv_world320d.dll,无法继续执行代码
- 六,未加载opencv_core244d.pdb
关于安装Opencv和本文
平台上有很多相关的安装教程写得很详细,例如
这个博客写得很详细,不过我们下载的Opencv可能和博主的的版本和安装目录不同,在配置环境的时候需要注意,因为我是按照这个博客安装的,但出现了很多百度谷歌找不到的错误,所以下文是根据一些网上回答的内容和自己摸索出来的一点小见解,针对安装过程中出现的错误的分析和应对。
一,缺失xfeatures2d\nonfree.hpp
测试是否成功安装的代码,需要在结局方案资源管理器这边右键点击源文件添加新建项,如果是直接在左上角那个新建的话新建的文件则不在配置好的项目环境中,会出现缺失xfeatures2d\nonfree.hpp或者缺失其他文件或者无法打开某个文件的错误,这个错误比较简单所以网上很少关于这个错误的教程。
二,无法启动程序,“…exe”。系统找不到指定文件
在配置环境的时候,更改属性页连接器的输出文件,其实正常情况下是不用改的,因为在创建项目的时候是已经有一个默认值,但因为出现了无法启动程序,“…exe”。系统找不到指定文件,根据网上的答案更改了,这里会出现以下两种情况(见识短浅,暂时只发现这两种情况),
一个是如果在改输出文件的时候只给了上一级文件,则会出现无法找到项目.exe,因为这个输出文件是需要一个可以运行的exe,所以需要把这个具体写到运行的文件,还有项目内的Debug中的也需要改。
另一个是可能在某个属性页里把输出文件改到了一个没有这个运行文件的地址,如这种情况:在我知道的地方我都把它改好了,但是它还是显示无法找到.exe,这时候我们根据他所提示的文件地址,把项目.exe复制进去,虽然我知道这是一个非常笨的方法,但因为没找到是哪里没有改好,因此也只能这样改,如果大家知道哪里改希望可以告诉我一下,谢谢。
三,无法打开文件“xxx.obj”的配置问题
这个是在生成目标文件过程中报错,可能问题是在链接器中,在“属性管理器”-“链接器”-“输入”-“附加依赖项”中。一是可能忘记写扩充名,即.lib,二是可能在不小心添加了某个字母,可以根据报错的 xxx.obj 来判断。
四,opencv无法打开输入文件
这个其实算是我在安装的时候没有认真看那位博主的错误吧,他在博客中提醒了需要把库文件改成自己所用的opencv版本,原来我以为是扩充库的版本,结果手动改了全部后发现还是行不通,才知道需要改成opencv版本,这里还需要注意的是,在安装扩充库的时候第一二次可能还是有一些文件没有成功下载到本地,需要多下载几次,最好可以把绝大部分文件下载好,不然也可有可能出现无法打开输入文件的问题。
五,由于找不到opencv_world320d.dll,无法继续执行代码
出现这个问题,可能是因为在系统window->system32或者SyWOW64中未添加该动态连结函式库,所以需要将自己opencv或opencv扩充库目录下的这些动态连结函式库都复制进这两个文件中。还有一种可能就是需要检查一下自己的系统的环境变量路径是否正确。
六,未加载opencv_core244d.pdb
这个问题目前我还没有想到一个彻底解决的办法,困扰了我很久,网上提供的各种方法都试了都还是没有解决。最后我觉得是我在设置项目属性的时候改了某些东西,所以会出现这种情况。我尝试重新配置一个项目,然后这个问题就没有出现,如果大家知道怎么解决的话,也希望也可以告诉我,谢谢。