В соответствии с плагином Android DSL - ExternalNativeNdkBuildOptions существует два свойства " cppFlags " и " аргументы " объекта DSL " ExternalNativeNdkBuildOptions", что позволяет нам контролировать поведение компилятора C ++ (clang или gcc).Однако я обнаружил, что некоторые параметры компилятора могут быть установлены любым из них.Например, следующие две строки, кажется, делают то же самое:
cmake { cppFlags "-fexceptions", "-frtti" }
cmake { arguments "-DANDROID_CPP_FEATURES=exceptions rtti"}
Другой пример, когда мне нужно определить макрос, чтобы код C ++ мог определить, что он находится под сборкой DEBUG, яможно сделать одним из следующих способов:
debug {
externalNativeBuild{
cmake { cppFlags += "-DDEBUG_BUILD" }
cmake { arguments += "-DDEBUG_BUILD" }
}
...
}
Я не могу понять, в чем разница и почему дублирующие функции DSL функционируют в двух разных свойствах?Мне просто нужно подтвердить, правильно ли я понимаю их использование, спасибо.