如何在Android NDK中访问C标志?

时间:2012-09-11 09:28:38

标签: android android-ndk

我在jni/Android.mk文件中有这个:

LOCAL_CFLAGS := -LANG=en

但是当我运行程序时LANG不存在!有什么想法吗?

1 个答案:

答案 0 :(得分:2)

改为使用-D选项:

LOCAL_CFLAGS:= -D LANG = en

它相当于C #define。然后使用LANG作为值为en的常量。请注意,它不是字符串“en”,它是一个不带引号的标识符。所以以下用法很好:

int en = 1, de = 2, es = 3;

int CurrentLang = LANG; //Translates to CurrentLang = en;

或者像这样:

#if LANG==en
//English localization stuff...
#endif

以下情况不是:

char * CurrentLang = LANG; //Error: en is an unknown identifier. It's not a string.