llvm+clang的安装(使用cmake)

本文档介绍了如何使用cmake安装llvm和clang,包括下载码源、编译安装以及常用工具的简介。首先通过svn下载llvm、clang和Compiler-RT的码源,然后安装cmake并进行编译,最后在编译目录外执行安装步骤。
部署运行你感兴趣的模型镜像

1. 下载码源

首先先安装svn,用来checkout llvm的码源

aptitude install subversion

然后checkout llvm的码源:

1.2 Checkout LLVM

checkout的是llvm项目的主要代码

cd where-you-want-llvm-to-live
svn co http://llvm.org/svn/llvm-project/llvm/trunk llvm

1.3 Checkout Clang

clang是llvm项目的 C, C++, Objective C and Objective C++ 前端

cd llvm/tools
svn co http://llvm.org/svn/llvm-project/cfe/trunk clang
cd ../..

1.4 Checkout Compiler-RT

Compiler-RT主要是为Clang和LLVM提供运行时库的支持

cd llvm/projects
svn co http://llvm.org/svn/llvm-project/compiler-rt/trunk compiler-rt
cd ../..

1.5 Checkout Test Suite Source Code(可选的)

cd where-you-want-llvm-to-live
cd llvm/projects
svn co http://llvm.org/svn/llvm-project/test-suite/trunk test-suit

2. 编译安装

llvm支持cmake和autotools进行编译。不同编译方式对后续创建自定义的pass的方式就不同,例如如果使用cmake编译,写pass的时候就不需要创建makefile文件,而需要创建CMakeList.txt文件。
在编译之前,需要参看对系统的要求:
http://llvm.org/docs/GettingStarted.html#requirements

2.1 安装cmake

由于Debian软件仓库中的cmake的版本过低,因此需要自己安装cmake。
http://www.cmake.org/download/下载cmake的码源,解压。

./configure
make
make install

2.2 编译安装

llvm为了防止编译的中间结果分布在码源目录中,影响码源的结构。因此不支持目录内编译。需要在码源目录外创建额外的编译目录。

mkdir build
cd build
cmake -G "Unix Makefiles" ../llvm
make
make install

3. 常用工具简介

这样llvm就安装完成了。下面是llvm的常用工具简短介绍:
clang: C语言编译器,类似于gcc
clang++: C++编译器,类似于g++。clang++只是clang的一个别名。
clang-format:按照固定的规范格式化C/C++代码,非常智能。文档请见:http://clang.llvm.org/docs/ClangFormat.html
clang-modernize:把按照C++98标准写的代码,转成C++11标准的。文档请见:http://clang.llvm.org/extra/ModernizerUsage.html
llvm-as:LLVM 汇编器
llvm-dis: LLVM 反汇编器
opt:LLVM 优化器
llc:LLVM 静态编译器
lli:LLVM的字节码执行器(某些平台下支持JIT)
llvm-link:LLVM的字节码链接器
llvm-ar:LLVM的静态库打包器,类似unix的ar。
llvm-nm:类似于unix的nm
llvm-ranlib:为 llvm-ar 打包的文件创建索引
llvm-prof:将 ‘llvmprof.out’ raw 数据格式化成人类可读的报告
llvm-ld :带有可装载的运行时优化支持的通用目标连接器
llvm-config:打印出配置时 LLVM 编译选项、库、等等
llvmc:一个通用的可定制的编译器驱动
llvm-diff:比较两个模块的结构
bugpoint:自动案例测试减速器
llvm-extract:从 LLVM 字节代码文件中解压出一个函数
llvm-bcanalyzer:字节代码分析器 (分析二进制编码本身,而不是它代表的程序)
FileCheck:灵活的文件验证器,广泛的被测试工具利用
tblgen:目标描述阅读器和生成器
lit:LLVM 集成测试器,用于运行测试

参考文献


[1]:http://llvm.org/docs/GettingStarted.html
[2]:http://clang.llvm.org/get_started.html
[3]:http://my.oschina.net/u/659405/blog/376347
[4]:http://blog.youkuaiyun.com/snsn1984/article/details/8036032

您可能感兴趣的与本文相关的镜像

Yolo-v8.3

Yolo-v8.3

Yolo

YOLO(You Only Look Once)是一种流行的物体检测和图像分割模型,由华盛顿大学的Joseph Redmon 和Ali Farhadi 开发。 YOLO 于2015 年推出,因其高速和高精度而广受欢迎

<think>我们正在构建Mac端的C++开发环境,使用VS Code作为IDE,Clang作为编译器,CMake作为构建系统,LLVM提供相关工具链(包括clangd等)。以下是详细步骤: ### 1. 安装必要的软件和工具 #### 1.1 安装Xcode命令行工具 在终端运行以下命令安装Xcode命令行工具(包含Clang编译器等): ```bash xcode-select --install ``` #### 1.2 安装Homebrew Homebrew是macOS上的包管理器,方便安装其他工具。在终端运行: ```bash /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" ``` #### 1.3 安装LLVM(包含Clang、LLDB、clangd等) 通过Homebrew安装LLVM: ```bash brew install llvm ``` 安装完成后,将LLVM工具链添加到环境变量中。在`~/.zshrc`(如果使用Zsh)或`~/.bash_profile`(如果使用Bash)中添加: ```bash export PATH="/usr/local/opt/llvm/bin:$PATH" ``` 然后执行`source ~/.zshrc`(或`source ~/.bash_profile`)使配置生效。 #### 1.4 安装CMake和Ninja ```bash brew install cmake ninja ``` #### 1.5 安装VS Code 从[VS Code官网](https://code.visualstudio.com/)下载安装,或使用Homebrew安装: ```bash brew install --cask visual-studio-code ``` ### 2. 配置VS Code #### 2.1 安装扩展 打开VS Code,安装以下扩展: - C/C++ (由Microsoft提供) [可选,但建议安装] - clangd (LLVM提供,用于代码补全和静态分析) - CMake Tools (由Microsoft提供,用于CMake集成) - CodeLLDB (用于调试) #### 2.2 配置clangd 在VS Code中,按下`Cmd+,`打开设置,搜索`clangd`,可以配置clangd的路径(如果按照上述步骤安装clangd的路径应为`/usr/local/opt/llvm/bin/clangd`)。也可以在设置中开启`Clangd: Fallback Flags`,添加`--query-driver=/usr/local/opt/llvm/bin/clang++`以指定编译器驱动。 ### 3. 创建并配置CMake项目 #### 3.1 创建项目目录 在终端中创建项目目录并进入: ```bash mkdir my_project && cd my_project ``` #### 3.2 使用CMake Tools初始化项目 在VS Code中打开项目目录,按下`Ctrl+Shift+P`打开命令面板,输入`CMake: Quick Start`,然后按照提示操作: - 选择编译器:选择`Clang`(确保路径是`/usr/local/opt/llvm/bin/clang++`) - 输入项目名称 - 选择可执行文件(或库)类型 #### 3.3 编写CMakeLists.txt 如果使用CMake Tools初始化成功,会自动生成`CMakeLists.txt`。也可以手动创建,示例内容如下: ```cmake cmake_minimum_required(VERSION 3.10) project(my_project) set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_COMPILER "/usr/local/opt/llvm/bin/clang++") # 设置使用Clang和C++标准库的路径(可选,如果系统有多个编译器) set(CMAKE_EXPORT_COMPILE_COMMANDS ON) # 生成compile_commands.json供clangd使用 add_executable(main main.cpp) ``` #### 3.4 配置构建工具 在VS Code底部状态栏,点击`CMake: [Debug]`选择构建类型(Debug/Release等),然后点击`Build`按钮进行构建。 ### 4. 调试配置 在VS Code中,点击左侧调试图标,创建`launch.json`,选择`LLDB`作为调试器。示例配置: ```json { "version": "0.2.0", "configurations": [ { "name": "C++ with LLDB", "type": "lldb", "request": "launch", "program": "${workspaceFolder}/build/${workspaceFolderBasename}", "args": [], "cwd": "${workspaceFolder}", "environment": [], "externalConsole": false } ] } ``` ### 5. 测试 创建`main.cpp`并编写代码,然后使用CMake构建并运行。在VS Code中,可以按F5启动调试。 ### 注意事项 - 如果在使用过程中遇到clangd无法找到系统头文件的问题,可以尝试在`~/.zshrc`中添加: ```bash export SDKROOT=$(xcrun --show-sdk-path) ``` - 确保CMake生成的`compile_commands.json`在项目根目录,这样clangd才能正确解析项目。 通过以上步骤,你可以在Mac上成功搭建VS Code+Clang+CMake+LLVM的C++开发环境[^1][^2][^3][^4][^5]。 §§相关问题§§ 1. 在Mac上使用VS Code+Clang开发C++项目时如何配置头文件路径? 2. 如何解决clangd在VS Code中无法正确补全的问题? 3. CMake如何指定使用LLVM工具链中的Clang编译器? </think>以下是在 macOS 上构建 VS Code + Clang + CMake + LLVM 的 C++ 开发环境的完整指南: ### 1. 安装必备工具链 ```bash # 安装 Homebrew (macOS 包管理器) /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" # 安装 LLVM 工具链 (包含 Clang 编译器和 clangd) brew install llvm # 安装 CMake 和 Ninja (构建工具) brew install cmake ninja # 安装 VS Code (或从官网下载) brew install --cask visual-studio-code ``` ### 2. 配置环境变量 在 `~/.zshrc` 或 `~/.bash_profile` 中添加: ```bash # 设置 LLVM 工具链路径 export PATH="/usr/local/opt/llvm/bin:$PATH" # 设置 CMake 使用 Clang 编译器 export CC=/usr/local/opt/llvm/bin/clang export CXX=/usr/local/opt/llvm/bin/clang++ # 生成编译数据库供 clangd 使用 export CMAKE_EXPORT_COMPILE_COMMANDS=1 ``` 运行 `source ~/.zshrc` 使配置生效 ### 3. VS Code 扩展安装 1. 打开 VS Code 2. 安装以下扩展: - clangd (LLVM 的代码分析引擎) - CMake Tools (CMake 集成) - CodeLLDB (调试器) - C/C++ (Microsoft 的 C++ 支持) ### 4. 配置 clangd 1. 在 VS Code 设置 (JSON) 中添加: ```json "clangd.path": "/usr/local/opt/llvm/bin/clangd", "clangd.arguments": [ "--query-driver=/usr/local/opt/llvm/bin/clang++" ] ``` ### 5. 创建 CMake 项目 1. 在 VS Code 中按 `Ctrl+Shift+P` 打开命令面板 2. 输入 `CMake: Quick Start` 3. 按提示操作: - 输入项目名称 - 选择 `Executable` - 编译工具选 `Clang` ```cmake cmake_minimum_required(VERSION 3.10) project(MyProject) set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_COMPILER "/usr/local/opt/llvm/bin/clang++") add_executable(main main.cpp) ``` ### 6. 调试配置 创建 `.vscode/launch.json`: ```json { "version": "0.2.0", "configurations": [ { "name": "C++ Debug", "type": "lldb", "request": "launch", "program": "${workspaceFolder}/build/${workspaceFolderBasename}", "args": [], "cwd": "${workspaceFolder}" } ] } ``` ### 7. 验证环境 创建测试文件 `main.cpp`: ```cpp #include <iostream> int main() { // 打印编译器版本 std::cout << "Compiler: " << __VERSION__ << std::endl; // 打印LLVM版本(验证链接) std::cout << "LLVM version: " << __llvm_version__ << std::endl; return 0; } ``` 按 `F7` 构建,按 `F5` 调试运行 ### 常见问题解决 1. **头文件找不到**:确认 Xcode 命令行工具已安装 `xcode-select --install` 2. **clangd 报错**:在项目根目录运行 `ln -s build/compile_commands.json .` 3. **调试器问题**:在 VS Code 设置中指定 `"lldb.adapterType": "native"` > 此配置利用 macOS 原生 ClangLLVM 工具链集成,提供完整的代码补全、静态分析和调试功能[^1][^3][^4]。CMake 生成的 `compile_commands.json` 确保 clangd 能准确解析项目结构[^2][^5]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值