eclipse 编译c++代码出现undefined reference to 'std::__throw_out_of_range_fmt(char const*, ...)'
这错误可以通过选择TOOLCHAIN版本,默认大概是4.8,可以手动设置为4.9即可
设置toolchain的方法是在Application.mk中设置:
NDK_TOOLCHAIN_VERSION = 4.9
如果没有这一行,可以自己加入,有的话修改版本
另外可以在编译命令后面加入V=1来输出版本信息以确认当前使用的版本,如编译命令改为 ndk-build NDK_DEBUG=1 V=1
编译时控制台输出里会看到如下一行
Users/wukong/Documents/android-ndk-r10e/toolchains/arm-linux-androideabi-4.9/prebuilt/darwin-x86_64/bin/arm-linux-androideabi-g++ ....//www.7es.cn 悟空的博客
的字样,说明切换为4.9了
再次重新编译代码,就可以解决undefined reference to 'std::__throw_out_of_range_fmt(char const*, ...)' 的错误了