Android NDK 编译出现 undefined reference to __atomic_store_4

在开发jni程序的时候,写完代码开始编译,出现undefined reference to __atomic_store_4,一看就是ndk编译的时候没有找到c++11的atomic库。

C++11包括很多标准库,比如<thread>,<atomic>。NDK提供了很多个C++的运行库,不同运行库支持的功能不同。

默认使用的运行时库叫system,功能很有效。除system之外,还有stlport,gabi++,gnu stl,llvm libc++等不同版本。

同一个版本的库,比如gnu stl,又可以分成静态库,动态库等。在编译的时候,需要声明具体的版本才能使用,在Application.mk中加上NDK_TOOLCHAIN_VERSION := 4.8就可以解决了。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章