默认情况下,如何始终在 Linux 上使用 llvm 工具链
How to use llvm toolchain on Linux always by default
我正在尝试构建 linux docker 图像,它将始终默认使用 clang 和 llvm 库(compiler-rt、libunwind、libc++,...)进行构建。我看过 this question,但它使用 CMake 变量。我不想对项目本身进行任何编辑,因此默认情况下始终使用 llvm。我怎样才能做到这一点?
您必须使用特殊标志构建 llvm (full info):
-DLIBCXX_USE_COMPILER_RT=YES # compiler-rt in libc++
-DLIBCXXABI_USE_LLVM_UNWINDER=YES # libunwind in libc++
-DCLANG_DEFAULT_CXX_STDLIB=libc++ # libc++ as std lib in clang by default
-DCLANG_DEFAULT_RTLIB=compiler-rt # compiler-rt in clang by default
并更新 cc/c++ 链接:
update-alternatives --install /usr/bin/cc cc /usr/bin/clang 800 \
--slave /usr/bin/c++ c++ /usr/bin/clang++
我正在尝试构建 linux docker 图像,它将始终默认使用 clang 和 llvm 库(compiler-rt、libunwind、libc++,...)进行构建。我看过 this question,但它使用 CMake 变量。我不想对项目本身进行任何编辑,因此默认情况下始终使用 llvm。我怎样才能做到这一点?
您必须使用特殊标志构建 llvm (full info):
-DLIBCXX_USE_COMPILER_RT=YES # compiler-rt in libc++
-DLIBCXXABI_USE_LLVM_UNWINDER=YES # libunwind in libc++
-DCLANG_DEFAULT_CXX_STDLIB=libc++ # libc++ as std lib in clang by default
-DCLANG_DEFAULT_RTLIB=compiler-rt # compiler-rt in clang by default
并更新 cc/c++ 链接:
update-alternatives --install /usr/bin/cc cc /usr/bin/clang 800 \
--slave /usr/bin/c++ c++ /usr/bin/clang++