Как установить разные cFlags для разных файлов в Android Studio NDK Gradle?

Я пытаюсь создать библиотеку 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.

Спасибо за вашу помощь!

1 ответ

Создав новый модуль библиотеки C++ из Android Studio, я смог получить скелетную установку CMake. cppFlags работает нормально из файлов CMake, поэтому моя проблема решена!

Другие вопросы по тегам