编译Chromium时缺失libclang_rt.builtins.a,如何构建该库?
解决编译Chromium时libclang_rt.builtins.a缺失的问题
你遇到的问题是因为默认的runtimes目标可能未完整构建compiler-rt的builtins组件,或是CMake配置需要调整。以下是几个可行的解决方法:
显式构建compiler-rt组件
跳过runtimes目标,直接单独构建compiler-rt:ninja -C llvm-and-libcxx-build compiler-rt也可以精准指定builtins目标(适配你的x86_64架构):
ninja -C llvm-and-libcxx-build clang_rt.builtins-x86_64调整CMake配置参数
修改CMake命令,显式开启builtins构建,并明确指定需要的runtime项目(避免all可能带来的冗余或遗漏):cd llvm-project rm -rf ../llvm-and-libcxx-build mkdir ../llvm-and-libcxx-build cmake -G Ninja -S llvm -B ../llvm-and-libcxx-build \ -DLLVM_ENABLE_PROJECTS=clang \ -DLLVM_ENABLE_RUNTIMES="compiler-rt;libcxx;libcxxabi" \ -DLLVM_RUNTIME_TARGETS=x86_64-unknown-linux-gnu \ -DCMAKE_BUILD_TYPE=Release \ -DCOMPILER_RT_BUILD_BUILTINS=ON cd .. ninja -C llvm-and-libcxx-build runtimes检查正确的文件路径
构建完成后,libclang_rt.builtins.a通常不在构建根目录,而是位于clang版本相关的子路径中,示例路径如下:llvm-and-libcxx-build/runtimes/runtimes-x86_64-unknown-linux-gnu/lib/clang/[LLVM版本号]/lib/linux/若直接构建compiler-rt,路径可能为:
llvm-and-libcxx-build/lib/clang/[LLVM版本号]/lib/linux/可以用find命令全局查找确认:
find ../llvm-and-libcxx-build -name "libclang_rt.builtins.a"
内容的提问来源于stack exchange,提问作者Brian Bi
相关产品推荐
相关产品推荐

