Как установить разные 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, поэтому моя проблема решена!

0

Другие решения

Других решений пока нет …