【问题标题】:Turn on compiler optimization for Android Studio debug build via Cmake通过 Cmake 为 Android Studio 调试构建开启编译器优化
【发布时间】:2017-07-26 02:17:21
【问题描述】:

我正在为基于 NDK 的应用程序使用 Android Studio 3.0。 对于 C++ 代码,我使用CMake as the external builder

这很好用,我可以创建调试和发布二进制文件。

但是,我想为部分 C++ 代码(物理引擎)启用编译器优化(比如 -O3),不仅适用于发布版本,还适用于调试版本。

因此,按原样创建大部分调试版本,而不进行优化,但是,我希望在启用编译器优化的情况下构建静态库目标之一。

我该怎么办?

我有一个用于静态库目标的 CMakeLists,使用顶级 CMakeLists 文件中的 add_subdirectory() 指令包含该目标。

请注意,我在我的应用的 build.gradle 文件中指向顶级 CMakeLists,如下所示:

externalNativeBuild {
    cmake {
        path '../../Android/jni/CMakeLists.txt'
    }
}

【问题讨论】:

    标签: android-studio android-ndk cmake


    【解决方案1】:

    事实证明,您可以将 CMakeLists.txt 中的 target_compile_options() 宏与如下配置规范一起使用:

    target_compile_options(opende PRIVATE
    "$<$<CONFIG:RELEASE>:-O3>"
    "$<$<CONFIG:DEBUG>:-O3>"
    )
    

    此宏添加到现有的编译选项。

    【讨论】:

      猜你喜欢
      • 2016-06-22
      • 2018-09-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-16
      相关资源
      最近更新 更多