1

我正在尝试使用最新版本的 Android Studio (2.2.2) 创建一个 C/C++ 库。

如何为不同的代码文件指定不同的编译选项?

我的库中的一些 .cpp 代码使用 STL,并且需要“-std=gnu++11”才能成功编译。

我的库中的某些代码使用 .c 文件,如果指定了“-std=gnu++11”,则会生成此错误:

错误:“C/ObjC”不允许使用无效参数“-std=gnu++11”

我目前正在使用 build.gradle 脚本进行编译,但如果有人可以帮助我设置 CMake 脚本来完成同样的事情,我也愿意使用 CMake。

我看到了指定 cppFlags 而不是 cFlags 的其他答案,以便仅为 .cpp 文件指定编译标志。最新版本的 Android Studio 似乎缺少该 NDK 选项。当我尝试使用它时,我收到此错误:

无法为 com.android.build.gradle.internal.dsl.NdkOptions 类型的对象获取未知属性“cppFlags”。

谢谢你的帮助!

4

1 回答 1

0

通过从 Android Studio 生成一个新的 C++ 库模块,我能够获得一个骨架 CMake 设置。cppFlags 在 CMake 文件中正常工作,所以我的问题解决了!

于 2016-11-30T14:27:59.137 回答