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

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的调试版。

你可能感兴趣的:(c++入门宝典,c++)