在 Mac 上安装最新版LLVM
MacOS对其处理库和编译器的方式确实感到沮丧。这也令人沮丧,因为它附带了未指定的LLVM版本,该版本通常不是最新的稳定版本。但是,您可以稍作调整,在Mac上使用最新版本的LLVM或GCC,并将其可靠地用于C和C ++工具。
安装
首先,您需要安装最新版本的LLVM。如今,大多数人都在使用Homebrew。如果没有它,则可以从源代码安装LLVM,这将花费大量时间进行编译。如果您有brew,则可以使用以下命令安装LLVM:
brew install llvm
您有几种安装LLVM的选项,所有这些都将需要brew从源代码进行编译。我通常会安装LLDB的最新稳定版本,并根据Homebrew的Python 2进行构建。
brew install llvm --with-python@2 --with-lldb
我花了大约两个小时才能在配备i5的2015 rMBP 13“上进行构建。
完成后,将Brew的LLVM添加到您的路径:
echo 'export PATH="/usr/local/opt/llvm/bin:$PATH"' >> ~/.zshrc
# or ~/.bashrc depending on your shell
环境变量
大多数构建工具(即CMake和Make)都遵循某些环境变量,因此,一旦路径中包含LLVM套件,就应该设置这些变量。
我通常会继续设置别名,以便可以使用最新版本的clang从命令行方便地编译小型程序。
对于环境变量:
export CC=clang
export CXX=clang++
export LD=ld.lld
export AR=llvm-ar
export RANLIB=llvm-ranlib
注意:如果您的中没有LLVM $PATH,则需要将完整路径添加到环境变量中
这些是我设置的别名:
alias cc=$CC
alias c++=$CXX
alias ld=$LD
alias ar=$AR
alias ranlib=$RANLIB
使用XCode
如果您使用XCode或xcodebuild,那么您将意识到它不使用您在环境中设置的LLVM / Clang版本。LLVM项目实际上提供了一种构建XCode工具链的方式,该工具链包含将XCode切换到最新版本的clang所需的一切,以及编译项目所需的其他工具。
为此,您需要从源代码手动构建LLVM并构建工具链。
您可以按照本教程 向您展示如何从Github镜像构建LLVM。
转到第3节时,请稍微更改cmake命令,以便启用XCode工具链目标:
mkdir -p build
cd build
cmake -G Ninja \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DLLVM_CREATE_XCODE_TOOLCHAIN=On ..
我还建议使用Ninja而不是Make构建LLVM,因为它将大大加快构建速度。
现在您已经有了XCode工具链,您可以将其放置Toolchains 在XCode 的目录中(根据需要更改版本,此指南可能并不总是最新的)。
mv LLVM8.0.1.xctoolchain /Applications/Xcode.app/Contents/Developer/Toolchains
您需要指示XCode实际使用工具链。您可以通过两种方式做到这一点:从您的环境变量,以及通过XCode应用程序本身。
要通过环境变量进行设置:
export TOOLCHAINS="LLVM8.0.1"
在中Xcode.app,您可以Xcode -> Toolchains -> org.llvm.8.0.1在菜单中选择。
这些步骤通常应与标准C / C ++ Make,CMake和Xcode设置一起使用,尽管由于人们安装库的方式以及Apple如何设置其编译器套件,可能会有很多奇怪之处。
原文链接: https://afnan.io/post/2018-10-01-using-the-latest-llvm-release-on-macos/