Как включить экспериментальный стандарт "C ++ 0X" при компиляции файлов .cpp в Android-ndk (r7)? - PullRequest
6 голосов
/ 16 января 2012

При проверке файла заголовка "android-ndk-linux_x86 / sources / cxx-stl / gnu-libstdc ++ / include / memory" я обнаружил, что этот заголовок включает в себя другие файлы заголовков STL в соответствии с

__GXX_EXPERIMENTAL_CXX0X__

флаг. Я думаю, что этот флаг относится к стандарту "C ++ 0X", и этот стандарт еще может быть экспериментальным в Android-ndk r7. Однако я хочу включить этот стандарт C ++ в моем проекте. (Я не уверен, был ли этот стандарт "C ++ 0X" включен по умолчанию)

Я хочу знать, как я должен сказать Android-ndk установить этот флаг при компиляции файлов .cpp в каталоге "project / jni" проекта Android. Или как мне включить экспериментальный стандарт "C ++ 0X" в моем приложении.

Нужно ли указывать флаг, например, LOCAL_CPPFLAGS и / или APP_CPPFLAGS, в файле "Android.mk" / "Application.mk". (Я использую "APP_STL: = gnustl_static" в моем "Application.mk")

Спасибо за любые предложения.

Лоуренс Цанг

1 Ответ

7 голосов
/ 16 января 2012

C ++ 03 не является экспериментальным стандартом;это значение по умолчанию.

C ++ 0X, однако, является экспериментальным стандартом.Его официальное имя теперь установлено как C ++ 11, но реализация в GCC не завершена (и везде).Вы можете включить его, передав --std=c++0x в GCC.Не забудьте проверить страницу состояния функции , прежде чем жаловаться, что что-то сломалось.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...