android - 如何在 C/C++ 文件中检测 Android NDK 的编译?

标签 android preprocessor android-ndk

是否有一个预处理器宏可以让我知道 NDK 正在编译我的代码?我可以手动定义自己的,但如果可能的话我宁愿不要。

最佳答案

通过运行预处理器可以看到 #ifdef __ANDROID__:

~$ /usr/local/android-ndk-r6/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin/arm-linux-androideabi-gcc -E -dM - < /dev/null | grep -i android

输出是:

#define __ANDROID__ 1

无需依赖在项目中定义内容,尤其是在您跳过 NDK 构建系统时。

关于android - 如何在 C/C++ 文件中检测 Android NDK 的编译?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6374523/

相关文章:

android - 如何使用 facebook sdk 4.1.2 从 android 到 facebook 分享标题和描述

java - Android 从操作栏中为另一个 Activity 加注星标

javascript - 设备未检测到在线/离线状态

在运行时检查宏是否已定义

android - JNI_OnLoad 通常用于 Android NDK 吗?

android - 在运行时替换函数中的字符串 Android NDK

java - 为什么第一个 Log.e() 方法不像第二个 Log.e() 方法那样工作?

c++ - 如何找到 Microsoft Visual C++ 中使用的编译预处理器

javascript - #ifndef 在 javascript 中

android-ndk - 针对目标 x86_64 的 NDK 构建导致错误