文章目录

今天使用NDK编译ART代码时出现了这样的错:

1
2
3
**art/runtime/atomic.h:21:18: fatal error: atomic: No such file or directory**

** #include <atomic>**

stackoverflow上有人说把Application.mk文件中的APP_STL := stlport_shared换成stlport_static就行了,试了一下,发现编译还是出现同样的错。最后换成gnustl_shared或者gnustl_static就OK了,莫非gnustl比stlport支持的功能多?不得而知,而且还有一种很让人很费解的问题:使用android4.4版本的ART的代码编译通过,而使用android5.0版本的ART的代码编译就会提示上面的错误,atomic.h文件内容都一样,mk文件中只有使用的SO库不一样,一个是4.4系统上面的libart.so,一个是5.0系统上面的libart.so,其他环境都是一样。唉,水平有限,解释不了。

知乎上解释stlport与gnustl两者的不同:http://www.zhihu.com/question/20845153

文章目录