Я пытаюсь создать библиотеку C / C ++, используя последнюю версию Android studio (2.2.2).
Как я могу указать разные параметры компиляции для разных файлов кода?
Часть кода .cpp в моей библиотеке использует STL и требует «-std = gnu ++ 11» для успешной компиляции.
Часть кода в моей библиотеке использует файлы .c, которые генерируют эту ошибку, если указано «-std = gnu ++ 11»:
Ошибка: недопустимый аргумент ‘-std = gnu ++ 11’ не разрешен с ‘C / ObjC’
В настоящее время я использую сценарий build.gradle для компиляции, но я также был бы открыт для использования CMake, если кто-то может помочь мне настроить сценарий CMake для выполнения той же задачи.
Я видел другие ответы, которые указали cppFlags, а не cFlags, чтобы указать флаги компиляции только для файлов .cpp. Эта опция NDK отсутствует в последней версии Android Studio. Когда я пытаюсь использовать его, я получаю эту ошибку:
Не удалось получить неизвестное свойство ‘cppFlags’ для объекта типа
com.android.build.gradle.internal.dsl.NdkOptions.
Спасибо за вашу помощь!
Создав новый модуль библиотеки C ++ из Android Studio, я смог получить скелетную установку CMake. cppFlags работает нормально из файлов CMake, поэтому моя проблема решена!
Других решений пока нет …