如何使用 Gradle 的 cpp-library 和 cpp-application 插件指定自定义 GCC/G++ 编译器位置?

问题描述

我们需要使用 Gradle 的 cpp-librarycpp-application 插件指定自定义 GCC/G++ 编译器位置。根据文档tool chain section

Linux 要在 Linux 上构建,请安装兼容版本的 GCC 或 Clang。 C++ 插件将使用系统路径发现 GCC 或 Clang。

Gradle 似乎没有选择在 PATH 环境变量前面加上所需 g++ 的路径。

如何引导 Gradle 从自定义路径获取 GCC/G++?

解决方法

我相信您可以在 build.gradle 文件中添加自定义工具链部分,例如:

toolChains {
    custom_gcc_toolchain(Gcc) {
        target("<target_platform>") {
            path '<path_to_custom_gcc_folder>'
            cCompiler.executable '<c_compiler_executable>'
            assembler.executable '<assembler_executable>'
            linker.executable '<linker_executable>'
        }
    }
}
,

终于发现这行得通:

model {
    toolChains {
        gcc(Gcc) {
            path '/custom/path/to/gcc-7.1.0/bin/'
        }
    }
}