我们在使用 cocos2dx 进行跨平台开发的时候,一种情景是我们在 mac 上利用 xcode 的开发环境进行开发。当我们把代码放到 android ndk 上,想编译成 android 应用的时候,有时候会出现编译错误,这主要是我们在 mac 上的时候,在 C++ 代码里使用了过多的 C++11 功能,比如像 auto 之类。
xcode 默认是使用 clang 的编译器,而 NDK 上现在还是默认 gcc 的编译器。
我们从 Android NDK 的 revision 8e 的发布声明上可以看到:
引用
Added Clang 3.2 compiler. GCC 4.6 is still the default. For information on using the Clang compiler, see CHANGES.HTML.
那么我们应该怎么来用 clang 来编译我们的游戏代码呢,这样就不需要手动将 auto 修改过来了。
答案也很简单,只需要在你调用 ./build_native.sh 的前面输入这个 export NDK_TOOLCHAIN_VERSION=clang3.2 就行了。
分享到:
相关推荐
NULL 博文链接:https://hzy3774.iteye.com/blog/2246101
使用Android NDK编译Android平台的eXosip库,有静态库和动态库。
Ubuntu20系统,Android NDK-r21e 编译 FFmpeg4.2.4; 编译出libavcodec.so libavdevice.so、libavfilter.so、libavformat.so、libavutil.so、libswresample.so、libswscale.so;
android ndk 使用方法android ndk 使用方法
NDK提供了一系列的工具,帮助开发者快速开发C(或C++)的动态库,并能自动将so和java应用一起打包成apk,并集成了交叉编译器,并提供了相应的mk文件隔离CPU、平台、ABI等差异,开发人员只需要简单修改mk文件
Android NDK 安装以及 HelloWorld!测试
android NDK使用文档(英文)android NDK使用文档(英文)android NDK使用文档(英文)android NDK使用文档(英文)
Android NDK 开发时需要的 常用的JNI API
博客名称 : 【Android NDK 开发】在 C 代码中获取 Android 系统信息 ( NDK 项目创建 | NDK 配置 | 获取 Android 系统版本号 ) 博客地址 : https://hanshuliang.blog.csdn.net/article/details/102933704
Android ndk下获取系统使用时间
valgrind for android NDK, 由国外相关资源整理,并亲测试可用,只支持 arm 架构.
ndk网盘下载,方便不能科学上网的同学下载。包含Windows和Mac版本。版本号r14-r20,全部下载搬运自谷歌Android官网。下载后是一个文本文件,用文本编辑器打开即可看到网盘下载地址。
Eclipse集成Android NDK说明 1 2 为什么要用NDK? 2 3 为什么要集成? 2 4 怎样操作? 2 4.1 预备条件 2 4.1.1 Cygwin 2 4.1.2 Eclipse 2 4.1.3 Eclipse CDT 3 4.1.4 Android SDK 3 4.1.5 Android NDK 3 ...
这个虽然只是个简单的jnidemo、但是涵盖了Android.mk 和Application.mk 的原理 重点是Android NDK编译的理解 mac 系统下 切换到jni目录,然后呢个 ndk-build
需要在系统源码下编译,或者提取出对应的头文件亦可。这里需要注意Android4.x以后系统SeLinux如果打开,系统级需要配置对应的sepolicy才能使用。测试阶段推荐直接setenforce 0关闭鉴权即可
android-ndk(android-ndk-r25b-linux.zip)适用于Linux系统
android ndk android ndk android ndk android ndk android ndk android ndk
Android NDK 开发教程 三 Hello JNI 示例
android ndk详细介绍
android-ndk(android-ndk-r26b-windows.zip)适用于Windows系统