引发的异常: 0xC0000005: 读取位置 0x0000000200000000 时发生访问冲突
运行环境:windows10 open3d visual studio2017
问题描述:在Debug下调试运行正常,但是在Release模式下报错:0x00007FF8FFA61CE7 (opencv_world320d.dll)处(位于 myproject.exe 中)引发的异常: 0xC0000005: 读取位置 0x0000000000000008 时发生访问冲突。例如下图所示:
Release模式适合批量处理,速度是Debug模式下的N倍。
解决办法:删除vs2017中release模式附加依赖项中类似“open3d_xxxd.dlib”的项,因为名称带“d”是Debug模式下需要的,release下不能用。右键——解决方案——属性——配置设置成“活动(Release)”——连接器——输入——附加依赖库——选中后面方格里内容——删除带“d”的lib库和分号
我发现,原因是dubug和release的库引用反了就会报异常。
本文感谢作者,受下面文章的启发而来:
引发的异常: 0xC0000005: 读取位置 0x0000000000000008 时发生访问冲突_sjx_5937681的博客-CSDN博客
在Windows10环境下,使用Open3D和Visual Studio2017时,发现项目在Debug模式下运行正常,但在Release模式下出现0xC0000005访问冲突异常。问题根源在于Release模式中错误地引用了Debug模式的库文件(带'd'的lib)。解决方法是删除Release模式的附加依赖项中带'd'的库文件,并确保引用正确的Release库。完成此操作后,异常得到解决。
1万+

被折叠的 条评论
为什么被折叠?



