使用备用 sysroot 编译 Clang

Compile Clang with alternative sysroot

我正在从源代码编译 clang 11.1.0,我希望将其配置为默认使用备用 sysroot,这样当我使用 clang 编译程序时,它将从该备用 sysroot 中获取系统头文件和库默认路径。

例如,假设我有 /path/to/my/toolchain 作为我的 sysroot。

当我配置和构建 gcc 时,我使用了选项 --with-sysroot=/path/to/my/toolchain--with-native-headers=/path/to/my/toolchain。现在每次我用 gcc 编译程序时,它都会自动从 /path/to/my/toolchain.

获取系统 headers/libraries

我想对 clang 做同样的事情。到目前为止,我唯一能让它工作的方法是每次编译程序时都有选项 -isysroot /path/to/my/toolchain 。有没有办法在编译clang的时候指定sysroot路径,让它在运行 clang时成为默认的sysroot?

使用DEFAULT_SYSROOT cmake 变量。例如。 cmake -DDEFAULT_SYSROOT=<your_sysroot_path>