最近把项目移植到cocos2d-x 3.0,在整Android编译环境的时候,出现一大堆的编译出错,都是类似“error: expected ';' at end of member declaration”之类的,看了一些编译错误,都是cocos2d-x库里面的代码出错。
经过分析,怀疑可能是编译环境的问题,因为cocos2d-x使用了很多C++11的新特性,这有可能导致老的编译器出错,看了一下NDK下面的文件以及toolchains里面的内容,windows编译器默认使用4.6,我尝试把4.6改成4.8再次编译不报错了,成功了,把修改的地方分享给大家一下。
在项目->属性下面,修改成下图的样子即可。
即把builder setting改成ndk-build NDK_TOOLCHAIN_VERSION=4.8