Gcc toolchain 版本问题

今天build发现Couldn’t find the gcc toolchain. 查看了python脚本。原来是我的NDK是最新的的r10,里面的if语句没有.扩展下这个脚本即可。

其中脚本的4.9部分是我添加的
因为NDK R10的带的gcc是4.9的,而以前只支持4.6,4.7,4.8

如果你没有用c++11,还是以前的R8即可,如果有就用新的版本吧。建议用新的,每次新版本都会对C++11的支持力度更大。你说呢。

53 ‘’‘Because ndk-r8e uses gcc4.6 as default. gcc4.6 doesn’t support c++11. So we should select gcc4.7 when
54 using ndk-r8e. But gcc4.7 is removed in ndk-r9, so we should determine whether gcc4.7 exist.
55 Conclution:
56 ndk-r8e -> use gcc4.7
57 ndk-r9 -> use gcc4.8
ndk-r10 -> use gcc4.9
58 ‘’’

我这个NDK是最新的也带来了一些问题,边修复边build。后来搜索找到这个
使用NDK r10构建Cocosd-x v3.2时编译和链接错误的解决办法 http://cn.cocos2d-x.org/tutorial/show?id=1187
我瞬间石化了,好吧。我不在去搞机油了,还是安心用R9D吧。

我们建议您使用NDK r9d,不使用NDK r10。如果你使用NDK r10,如下步骤可以帮你解决上述两个问题:

1)声明BundleReader::tell()时,将long int改为ssize_t。查看更多详细信息请查看这个pr。

2)将APP_STL:=c++_static改为APP_STL:=c++_shared。在Application.mk中添加LIBCXX_USE_GABIXX:=true, 然后修改你的Java激活代码来加载libc++_shared.so。 查看更多详细信息请查看这个pr。