Microsoft C++ 异常: std::length_error,位于内存位置 0x000000AF9B7AF810 处

  • Post author:
  • Post category:其他


mnn运行报错:

0x00007FFCFD1C4ED9 处(位于 mnn_yolo.exe 中)有未经处理的异常: Microsoft C++ 异常: std::length_error,位于内存位置 0x000000AF9B7AF810 处。

原因:

release库,选择运行库模式 mtd,这时需要引用debug库,但是运行会报错。


解决方法:

release,运行库需要设置成mt或者md

debug,运行库需要设置为MTd或者MDd




在各个版本的编译器中,我们可以通过配置选项来设置程序使用的C和C++运行时库的类型。如下图(其他版本编译器大同小异):




这里写图片描述




MT选项:链接LIB版的C和C++运行库。在链接时就会在将C和C++运行时库集成到程序中成为程序中的代码,程序体积会变大。

MTd选项:LIB的调试版。

MD选项:使用DLL版的C和C++运行库,这样在程序运行时会动态的加载对应的DLL,程序体积会减小,缺点是在系统没有对应DLL时程序无法运行。

MDd选项:表示使用DLL的调试版。




版权声明:本文为jacke121原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。