Macos 安装Clang和LLVM过程记录
文章目录
- Macos 安装Clang和LLVM过程记录
-
- 安装Cmake
- 安装homebrew
- 安装doc
- 安装svn
- 下载LLVM
- 下载Clang
- 下载Clang相关安装包(可选)
- 编译安装
- 配置环境变量
- 相关参考链接
-
-
- Clang安装相关
- 其他安装相关
- 一些Clang操作
-
安装Cmake
- 去cmake官网下载 cmake-3.10.1-Darwin-x86_64.dmg按提示安装即可。
-配置环境变量exportPATH=/Applications/CMake.app/Contents/bin:$PATH
安装homebrew
首先安装必要的软件,官方是使用 svn 进行版本控制的,我们可以通过 svn 获取其源码。安装过程中要用到 cmake 命令,所以我们需要安装 subversion 和 cmake 两个软件。macos在更新之后xcode不再支持svn,故使用brew来安装。安装查看链接
安装doc
1 | brew install graphviz |
安装svn
1 | brew install subversion |
下载LLVM
1 2 3 4 | cd /Users/songdi/ mkdir LLVM cd ./LLVM svn co http://llvm.org/svn/llvm-project/llvm/trunk llvm |
下载Clang
1 2 3 4 5 6 | cd llvm/tools svn co http:llvm.org/svn/llvm-project/cfe/trunk clang cd ../.. cd llvm/tools/clang/tools svn co http://llvm.org/svn/llvm-project/clang-tools-extra/trunk extra cd ../../.. |
下载Clang相关安装包(可选)
1 2 3 4 5 6 7 | cd llvm/projects svn co http://llvm.org/svn/llvm-project/compiler-rt/trunk/ compiler-rt cd .. cd projects svn co http://llvm.org/svn/llvm-project/libcxx/trunk/ libcxx svn co http://llvm.org/svn/llvm-project/libcxxabi/trunk/ libcxxabi cd .. |
编译安装
此过程差不多要2h
1 2 3 4 5 | cd .. mkdir bulid cd build cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Debug -DLLVM_TARGETS_TO_BUILD="X86" ../llvm make |
配置环境变量
1 | export PATH=/Users/songdi/LLVM/build/bin:$PATH |
相关参考链接
Clang安装相关
- MAC上安装LLVM+Clang
https://blog.csdn.net/qq_31157999/article/details/78906982 - 结构化编译器前端 Clang 介绍
https://developer.ibm.com/zh/articles/os-cn-clang/ - LLVM安装官网 http://llvm.org/svn/llvm-project/
- Clang说明文档 http://clang.llvm.org/get_started.html
其他安装相关
- mac下的Graphviz安装及使用
https://blog.csdn.net/qq_36847641/article/details/78224910 - MAC 设置环境变量PATH 和 查看PATH
https://www.jianshu.com/p/acb1f062a925 - homebrew最新国内源安装方法(2020年3月)
https://blog.csdn.net/WizardtoH/article/details/104744008
一些Clang操作
- 关于静态分析:如何为C ++代码生成调用图
https://www.codenong.com/5373714/ - 函数调用图的静态构造
https://clarazhang.gitbooks.io/compiler/content/callgraph.html - 在iOS项目中自动生成函数调用关系图(CallGraph)
https://www.jianshu.com/p/e19aafbaddca - Clang上的C_C++过程间分析
https://wenku.baidu.com/view/9e0cbe1fcfc789eb172dc844.html - clang好用的一些命令汇总
https://ble55ing.github.io/2019/04/16/clang-useful/ - clang -cc1命令https://github.com/ble55ing/clang/blob/master/clang-useful/clangcc1
- 在LLVM中可视化代码结构
https://blog.csdn.net/qq_23599965/article/details/88688282 - clang 中文用户手册&llvm 文档https://www.bookstack.cn/read/clang-llvm/clang-user-manual.2.md