【问题标题】:How can you specify a custom GCC/G++ compiler location using Gradle's cpp-library and cpp-application plugins?如何使用 Gradle 的 cpp-library 和 cpp-application 插件指定自定义 GCC/G++ 编译器位置?
【发布时间】:2021-06-15 08:06:28
【问题描述】:

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

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

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

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

【问题讨论】:

  • 出于好奇,您是如何检查 Gradle 使用了哪个工具链的?您是否确保 Gradle 看到更改后的 PATH
  • 当我使用--info 运行时,它会显示正在执行的确切命令,而且它肯定是错误的可执行文件(它使用我的 IT 部门控制的系统g++)。我通过将clang 的可执行文件的路径和不同的g++ 添加到PATH 环境变量来对此进行了测试。我什至在配置阶段打印了PATH 环境变量,它具有预期的路径。

标签: c++ gradle gcc g++ toolchain


【解决方案1】:

我相信您可以将自定义工具链部分添加到 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>'
        }
    }
}

【讨论】:

  • 哦,天哪,这很接近,我必须做一些不同的事情,因为我将发布,但谢谢。
【解决方案2】:

终于发现这行得通:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多