llvm安装
下载
- 下载地址:https://github.com/llvm/llvm-project
- 第一种下载,git clone https://github.com/llvm/llvm-project.git,这种是下载的最新的。而且下载下来的是文件夹形式
- 第二种下载,打开https://github.com/llvm/llvm-project找到上面releases,点击,里面有很多旧版本。
点击releases后
点击tar.gz下载,这个下载后要解压的。tar -xzvf 文件名
下载后的源码目录
下载后是在同一的llvm-project下,要调整目录
调整后的目录结构
首先clang-toos-extra重命名:extra,然后按照目录树移动目录到llvm下,libclc是opencl的,暂时不知道放哪,
构建
构建过程中失败的项目建议删除吧,也可以自己解决。Llgo是go语言。lldb是调试器相当于gdb,不过不好装。Pstl自行看,没必要装。主要装clang+llvm+polly+lld+project
- 和llvm同级目录,mkdir build
- cd build
- cmake …/llvm/
- make -jn n是进程数
- make install
- 测试:make check-all
这里有一些常用的cmake参数:使用一般为-D后面跟参数,如-DCMAKE_INSTALL_PREFIX=…
- CMAKE_C_COMPILER 指定c编译器
- CMAKE_CXX_COMPILER 指定c++编译器
- CMAKE_INSTALL_PREFIX 指定安装目录
- LLVM_TARGETS_TO_BUILD 指定构建的目标及其架构
- LLVM_ENABLE_PROJECTS 指定构建的项目(上述文件目录)
- LLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN (gcc编译器版本过低是可以使用,值为true,或false)
- CMAKE_BUILD_TYPE 指定构建类型,默认Debug,还可以是Release
例如:
cmake ../llvm/ -DCMAKE_INSTALL_PREFIX=/home/huangzf/soft/install/debug-llvm/llvm-8.0.0/install -DLLVM_TARGETS_TO_BUILD="X86;NVPTX;XCore" -DLLVM_OPTIMIZED_TABLEGEN=true -DLLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN=true -DCURSES_LIBRARY=/home/huangzf/soft/install/ncurses/install/lib -DCURSES_INCLUDE_PATH=/home/huangzf/soft/install/ncurses/install/include/ncurses -DLIBXML2_LIBRARY=/home/huangzf/soft/install/libxm2/install/lib -DLIBXML2_INCLUDE_DIR=/home/huangzf/soft/install/libxm2/install/include
详见:https://llvm.org/docs/CMake.html
检查是否安装成功
命令行运行,指定安装目录/clang,提示
设置环境变量
- vim ~/.bashrc
- export PATH=安装目录/bin:$PATH
- source ~/.bashrc
就可以在任意地方使用clang命令了