llvm编译环境配置
方式一
1、获取源代码
git clone --depth 1 https://github.com/llvm/llvm-project.git
错误
- fatal: --stdin requires a git repository
fatal: index-pack failed
提示说没有.git这样一个目录
解决办法:git init
2、配置和构建LLVM和Clang
新版 macOS
默认的 Shell
是 zsh
,所以,⾸先进⼊终端执⾏:
-
echo 'export OSX_COMMANDLINE_SDKROOT="/Library/Developer/CommandLi neTools/SDKs/MacOSX.sdk"' >> ~/.zshrc
然后执行 - 终端输入
source ~/.zshrc
3、使⽤ brew 安装 cmake
- 终端输入
brew install cmake
错误
- -bash: cmake: command not found
没有安装cmake,去官网下载
https://cmake.org/download/
下载完成后打开cmake
图形编辑器
构建XCode项目
终端输入cmake -G Xcode -j 2 -DLLVM_ENABLE_PROJECTS='libcxx;libc++;clang;lldb;' -DLLDB_USE_SYSTEM_DEBUGSERVER=ON -DLLDB_TEST_COMPILER=clang++ -DCMAKE_OSX_SYSROOT='/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk' ../llvm
错误
-
CMake Generate step failed. Build files cannot be regenerated correctly
image.png
终端输入
xcode-select --install
-
error : command line tools are already installed, user "Software Upload" to install updates
image.png
缺少Command command下载地址
image.png
- No CMAKE_C_COMPLER could be found.
- No CMAKE_CXX_COMPILER could be found.
终端输入
sudo xcode-select --switch /Applications/Xcode.app/
4、Xcode相关配置
进⼊到 build
⽬录下,打开 LLVM.xcodeproj
:
image.png
image.png注意:不要选择
Automatically Create Schemes
选择Manually Manage Schems
否则会引入一些不必要的scheme
,拖累Xcode
速度,
原则上:使用哪个scheme
,就引入哪个
开始运⾏
lldb
,第⼀次运⾏时,可能需要我们进⾏编译,以重新⽣成调试符号,下次再运⾏,即可直接运行image.png
注意:每次运⾏时要通过
Run Without Building
运⾏。这就意味着,当你的代码没有改变的时候,不需要重新编译,直接运⾏现有可执⾏⽂件即可。
选择 Build & Run :
进⼊真正的编译模式:大概需要30-60分钟
当显示⿊⾊的
(lldb)
字样,编译成功啦:image.png
方式二
llvm
地址链接: https://pan.baidu.com/s/1cw9EFyJxZTyr56S0LbGuRQ 密码: ub1n
下载拿到压缩后的完整的llvm.zip
,解压,打开终端,进去llvm-project/build
目录,执行:
cmake -G Xcode -j 2 -DLLVM_ENABLE_PROJECTS='libcxx;libc++;clang;lldb;' -DLLDB_USE_SYSTEM_DEBUGSERVER=ON -DLLDB_TEST_COMPILER=clang++ -DCMAKE_OSX_SYSROOT='/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk' ../llvm
会立马报错
要解决该错误,只需要进⼊
llvm-project/build
⽬录,删除 CMakeCache.txt
即可。 然后重新运⾏上述指令。然后,按照⽅式⼀的 Xcode相关配置
继续配置即可。