出现这种问题的原因是附加依赖项文件导入的问题,Debug文件库名有d结尾,Release没有,注意文件库名是否正确,如果把有d和没有d的文件都放入附加依赖项也可能出错(默认放在前面的文件对应的模式下工作正常,即如果前面放有d的文件后面放无d的文件,顺序不可以乱,则Debug模式下工作正常、Release模式下有错误),这是OpenCV的一个bug,此时可以在Microsoft.Cpp.Win32.userDirectories属性中链接下的输入中的附加依赖项中加入所有有d的文件库然后选择解决方案配置为Debug模式,此时只有Debug模式下工作正常,或者在附加依赖项中加入所有无d的文件库然后选择解决方案配置为Release模式可以解决问题,但此时只有在Release模式下工作正常。
具体操作流程是:在属性管理器下Debug|Win32->Microsoft.Cpp.Win32.userDirectories(反键属性,或者双击)即可打开属性页面。【通用属性】 ->【链接器】->【输入】->【附加的依赖项】->添加相应有d文件。或在Release|Win32->Microsoft.Cpp.Win32.userDirectories(反键属性,或者双击)即可打开属性页面。【通用属性】 ->【链接器】->【输入】->【附加的依赖项】添加相应无d文件。
在Microsoft.Cpp.Win32.userDirectories修改的属性是以后创建所有工程时都会继承的公共属性。
要想既可以在Debug下和Release下都能运行Opencv,则可以在Debug通用属性下的附加依赖项链接好所有带d的文件后,在项目属性下,选择配置为Release,然后将所有不带d的文件加入到链接器下输入中的附加依赖项中,就可以实现目标。但是这种方式的缺失点每一次新建项目都需要重新配置项目属性的附加依赖项才可以同时在Debug和Release下都可以运行。
OpenCV出现错误Unhandled exception at 0x7507C54F in Opencv1.exe: Microsoft C++ exception: cv::Exception a
最新推荐文章于 2024-03-17 01:52:15 发布