Это очень актуально для Android NDK.К счастью, уродливое решение.Чтобы все файлы C были скомпилированы как c99
, а все файлы CPP как c++0x
, добавьте в файл Android.mk следующие строки:
LOCAL_CPPFLAGS += -std=c++0x
LOCAL_C99_FILES := $(filter %.c, $(LOCAL_SRC_FILES))
TARGET-process-src-files-tags += $(call add-src-files-target-cflags, $(LOCAL_C99_FILES), -std=c99)
Это работает в последней версии NDK r8b с arm-linux-androideabi-4.6 toolchain, но я не могу гарантировать, что он будет работать в будущих версиях, и я не тестировал его с более ранними версиями.