1、获取源码
git clone --depth 1 https://github.com/llvm/llvm-project.git
2、配置,构建LLVM和Clang
新版mackOS
默认的shell
是zsh
,所以在终端执行以下命令:
echo 'export OSX_COMMANDLINE_SDKROOT="/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk"' >> ~/.zshrc
执行上面命令之后可以打开zshrc
文件,看一下刚刚输入的地址是否正确():
open ~/.zshrc
然后执行:
source ~/.zshrc
⚠️ 注意:在执行第二步的时候要查看一下/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk
是否存在?
如果不存在请及时安装:
xcode-select --install
否则影响接下来的配置。
3、使用brew安装cmake
brew install cmake
如果提示已安装,可以更新也可以不更新
开始构建
1、cd llvm-project
:进入llvm-project
文件夹
2、mkdir build
:创建build
文件夹
3、cd build
:进入build
文件夹
4、构建Xcode
项目:
cmake -G Xcode -j 6 -DLLVM_ENABLE_PROJECTS='libcxx;libc++;clang;lldb' -DLLDB_USE_SYSTEM_DEBUGSERVER=ON -DLLDB_TEST_COMPILER=clang++ -DCMAKE_OSX_SYSROOT=$OSX_COMMANDLINE_SDKROOT ../llvm
一些常见的构建系统生成器:
-
Ninja
:大多数llvm
开发人员都使用Ninja
-
Unix Makefiles
:用于生成与make
兼容的并行makefile
-
Visual Studio
:用于生成Visual Studio
项目和解决方案 -
Xcode
:用于生成Xcode
项目
这里我们选用Xcode
-j
参数指定使用的cpu
核心数量。例如上面的指令中使用的是6
个。根据自己电脑情况指定。
这个过程耗时会比较久一点
Xcode 相关配置
1、进入build
目录下,打开LLVM.xcodeproj
2、进入Xcode
会有弹框提示,选择Manually Manage Schemes
注意 ⚠️ :Automatically Create Schemes
,否则会引入一些不必要的scheme
,拖累Xcode
的速度。
原则:使用哪个scheme
,就引入哪个scheme
。
3、创建scheme
,Target
选择lldb
。
⚠️ 第一次运行的时候,需要我们进行编译,以重新生成调试符号,之后在运行可以Run Without Building
;这就意味着,当你的代码没有改变的时候,不需要重新编译,直接运行现有的可执行文件即可。
⚠️ 当使用别人编译过的项目的时候,只需要执行下面的指令:
cmake -G Xcode -j 6 -DLLVM_ENABLE_PROJECTS='libcxx;libc++;clang;lldb' -DLLDB_USE_SYSTEM_DEBUGSERVER=ON -DLLDB_TEST_COMPILER=clang++ -DCMAKE_OSX_SYSROOT="/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk" ../llvm
立马回报错:
此时将需要在llvm-project/build
目录中的CMakeCache.txt
删除,然后重新执行上述命令即可。
网友评论