在Windows下面进行LLVM与CLANG的安装(转载)

本文提供了一步一步的指南,在Windows系统上安装LLVM与CLANG环境,包括使用SVN获取源代码、编译、安装以及验证过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在Windows下面进行LLVM与CLANG的安装(转载)

原文链接:在Windows下面进行LLVM与CLANG的安装

Windows下面进行LLVMCLANG的安装

目录

§ 1 需要环境

§ 2 SVN下载source code

§ 3 编译llvmclang

§ 4 安装

§ 5 验证与练习

需要环境

本文假设你已经有下面的工具安装在系统中,并且可以正确的使用。

§ SVN client (这是为了抓最新的llvmclangsource code)

§ cmake

§ mingw32

SVN下载source code

假设我们要将所有的LLVMClang程序码放到c:\llvm_src,并且要将最后的llvm放到c:\llvm的目录下。要注意,clang必须放在llvm source code目录下的tools\clang目录,否则会编不出来。

> cd /d c:\

> svn co http://llvm.org/svn/llvm-project/llvm/trunk llvm_src

> cd llvm_src\tools

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

 

编译llvmclang

接着要进行编译的动作:

> cd /d c:\llvm_src

> mkdir build

> cd build

> cmake.exe -DCLANG_BUILD_EXAMPLES=ON -DCMAKE_INSTALL_PREFIX=/llvm -G ”MinGW Makefiles” ..

> mingw32-make ENABLE_OPTIMIZED=1

 

安装

同样在c:\llvm_src\build的目录下输入下面的指令来安装:

> mingw32-make install

 

成功的话,就会发现在c:\llvm目录下面至少有以下的目录。基本上就代表llvmclang已经成功安装了。

bin

docs

examples

include

lib

share

 

c:\llvm\bin放到path的环境变量中,就可以进行编译了。为了方便,我做了一个批次档,并且将相关编译的工具环境当放入path中。

REM llvm-env.bat

set QTDIR=C:\Qt\SDK_1.1\Desktop\Qt\4.7.3\mingw

set PATH=C:\Qt\SDK_1.1\mingw\bin;%QTDIR%\bin;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem

set PATH=d:\llvm\bin;C:\Tools;C:\Program Files (x86)\CMake 2.8\bin;%PATH%

 

并且透过捷径的方式执行它,以得到命令视窗。

§ C:\Windows\System32\cmd.exe /A /Q /K c:\llvm\bin\llvm-env.bat

验证与练习

我们来准备一个简单的小程序来练习并且确认llvmclang已经成功安装了

#include <stdio.h>

int main(int argc, char ** argv)

{

printf(“Hello World!\n”);

}

 

在刚刚准备好的命令视窗内输入clang的编译命令:

> clang -o myhello.exe hello.c -lmsvcrt -Ic:\qt\sdk_1.1\mingw\include -Lc:\qt\sdk_1.1\mingw\lib

 

因为我是直接使用Qtmingw环境进行编译,所以就拿了Qt下面的include目录与lib目录来用。如果你是另外自己装mingw,记得修改这些目录以符合你的环境。

成功的话,会看到myhello.exe产出。执行它会在视窗内印出“Hello World!”的字样。

接着,我们来试试llvm相关的功能。首先,我们用clang来产出llvmbitcode

> clang -emit-llvm -o hello.bc -c hello.c -Ic:\qt\sdk_1.1\mingw\include

 

应该可以看到hello.bc这个bitcode档案出现。让我们透过llillvm的环境来执行它!

> lli hello.bc

 

然后,我们透过llvm-dis来反组译它。

> llvm-dis hello.bc -o hello.ll

 

可以看到hello.ll的内容如下。

; ModuleID = ’hello.bc’

target datalayout = ”e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-f80:128:128-v64:64:64-v128:128:128-a0:0:64-f80:32:32-n8:16:32-S32″

target triple = ”i686-pc-mingw32″

@.str = private unnamed_addr constant [14 x i8] c”Hello World!\0A\00″, align 1

define i32 @main(i32 %argc, i8** %argv) nounwind {

entry:

%retval = alloca i32, align 4

%argc.addr = alloca i32, align 4

%argv.addr = alloca i8**, align 4

store i32 0, i32* %retval

store i32 %argc, i32* %argc.addr, align 4

store i8** %argv, i8*** %argv.addr, align 4

%call = call i32 (i8*, …)* @printf(i8* getelementptr inbounds ([14 x i8]* @.str, i32 0, i32 0)) nounwind

%0 = load i32* %retval

ret i32 %0

}

declare i32 @printf(i8*, …) nounwind

 

到此为止,你成功的建立了一个确定可以工作的llvmclang的环境囉!

参考资料:

§ http://clang.llvm.org/get_started.html

### Windows安装 LLVM/Clang 的方法 在 Windows 系统上安装 LLVMClang 编译器可以通过多种方式实现,以下是几种常见的方法: #### 方法一:通过预构建二进制包安装 可以从官方 LLVM 项目网站下载适用于 Windows 的预构建二进制包。这些二进制包已经包含了编译好的工具链。 1. 访问 LLVM 官方发布页面: https://releases.llvm.org/download.html 2. 下载适合 Windows 平台的最新版本 ZIP 文件或 MSI 安装程序。 3. 解压 ZIP 文件或将 MSI 安装到目标目录。 4. 将解压后的 `bin` 目录路径添加到系统的环境变量 PATH 中[^5]。 #### 方法二:使用 Chocolatey 包管理器 Chocolatey 是一个流行的 Windows 包管理器,可以轻松安装和更新软件。 1. 如果尚未安装 Chocolatey,请按照其官网指南完成安装: https://chocolatey.org/install 2. 打开命令提示符并运行以下命令来安装 LLVM 工具链: ```powershell choco install llvm ``` 3. 完成后,可以直接在命令行中调用 clang 或其他相关工具[^6]。 #### 方法三:通过 Visual Studio 自带组件安装 Microsoft 提供了对 LLVM/Clang 的集成支持,可以在 Visual Studio Installer 中启用此功能。 1. 启动 **Visual Studio Installer**。 2. 修改已有的 Visual Studio 版本或创建新安装配置。 3. 在工作负载选项卡下找到 “使用 C++ 的桌面开发”,点击右侧的细节按钮。 4. 勾选名为 **MSVC v142 - VS 2019 C++ x64/x86 build tools (v14.2x)** 及附加项中的 **CMake Tools for Windows** 和 **LLVM Compiler Toolset**。 5. 应用更改并等待安装完成后即可使用 Clang[^7]。 #### 方法四:从源代码编译(高级) 如果需要自定义配置或者最新的特性,则可以选择从源码自行编译。这通常用于开发者希望深入研究或修改底层行为的情况。 参考站内引用提供了基于 Unix-like 环境下的编译流程[^1],对于 Windows 用户来说,推荐借助 MinGW-w64 或 Cygwin 来模拟类 Linux 运行时环境;另外也可以考虑 WSL(Windows Subsystem for Linux),它允许直接运行原生 Ubuntu 发行版从而简化跨平台操作过程[^2]。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值