如何配置 GN(Google's generate-ninja)/Ninja 使用不同的 clang 工具链
how to configure GN (Google's generate-ninja)/Ninja to use different clang toolchain
我正在使用 GN 和 Ninja
构建 Chromium 项目,但遇到以下错误:
$ ninja -C out/Release/
...
...
../../third_party/llvm-build/Release+Asserts/bin/clang++: /lib64/libc.so.6: version `GLIBC_2.18' not found (required by ~/client/third_party/llvm-build/Release+Asserts/bin/../lib/libstdc++.so.6)
原因是它使用了项目附带的预建 clang 工具,但是我在 CentOS 7 上,glibc 的固定版本是 GLIBC_2.17
,而且我有一个单独的 clang 工具,它没有不需要 GLIBC_2.18
,问题是如何配置 GN
或 ninja
不使用项目自带的预建 clang?
检查 this page,在 gn gen
命令之后,可以通过编辑 args.gn
文件中的 clang_base_path
参数来覆盖 llvm 工具链位置。
我正在使用 GN 和 Ninja
构建 Chromium 项目,但遇到以下错误:
$ ninja -C out/Release/
...
...
../../third_party/llvm-build/Release+Asserts/bin/clang++: /lib64/libc.so.6: version `GLIBC_2.18' not found (required by ~/client/third_party/llvm-build/Release+Asserts/bin/../lib/libstdc++.so.6)
原因是它使用了项目附带的预建 clang 工具,但是我在 CentOS 7 上,glibc 的固定版本是 GLIBC_2.17
,而且我有一个单独的 clang 工具,它没有不需要 GLIBC_2.18
,问题是如何配置 GN
或 ninja
不使用项目自带的预建 clang?
检查 this page,在 gn gen
命令之后,可以通过编辑 args.gn
文件中的 clang_base_path
参数来覆盖 llvm 工具链位置。