admin管理员组

文章数量:1662780

本文内容

  • 0.动机
  • 1. 安装Visual Studio 2019
  • 2 安装Python3
    • 已安装Python
    • 未安装Python
  • 3. 配置Visual Studio
  • 4.安装LLVM
    • 获取源码
    • 将LLVM切换到我们的目标版本
    • 编译LLVM

0.动机

想着ubuntu用着别手,看看能不能在Windows中进行开发。于是就动手实践了下 Getting Started with the LLVM System using Microsoft Visual Studio。安装是安装成功了,但用了一段时间后,我先说结论:
并不推荐大家在Win系统里进行开发!!!!!还是乖乖使用LINUX系

  1. 最重要的就是LLVM官方并不是十分支持Win环境,Bug多,很多新特性还是在UNIX系系统中才支持。
  2. 最明显的感受就是开发时不适应。比如,大部分教程教你使用opt试用pass时,调用的是动态库.so文件。但在win里动态库文件不叫这个,诸如此类的问题多得很。给小白实践带来很多小麻烦(大佬请忽视我说的话)。

But,安装了就安装了吧,万一以后熟悉了还可以继续用。下面是安装步骤。

1. 安装Visual Studio 2019

首先,在 Visual Studio 安装程序的“工作负载”选项卡中,选择“ 使用 C++ 进行桌面开发”工作负载。
并更改安装位置到其他盘,不推荐直接安装在系统盘中。


我的位置配置方式,供大家参考:
目录结构

  • VisualStudio2019Pro
    • VisualStudio2019ProIDE
    • VisualStudio2019ProShared
      两个子文件夹分别承载IDE共享组件、工具SDK等

      点击位置中的‘更改’,配置为我们新建的文件夹

      点击’单个组件’选项卡,勾选“Git for Windows”,点击安装。已经有Git的可以不用勾选。

      等待它安装完毕。

      会提醒你登录账户,但暂时不要登录,选以后再说

      上菜单栏选项中,帮助-注册,点击使用产品密钥,输入神秘代码NYWVH-HT4XC-R2WYW-9Y3CM-X4V3Y,点击应用,即可完成。

2 安装Python3

已安装Python

可以使用以下命令来查看Python的安装路径

  1. 打开命令提示符面板: windows键+R,输入“cmd”,打开命令行。
  2. 输入以下代码查看安装路径
import sys
sys.path


这里显示我已经安装python3.9。

未安装Python

进入官网Python官网,选Download,安装最新的吧。
我以python-3.12.3为例,重新安装Python。

在安装选项中,勾选Add python.exe to PATH,这将允许为所有用户安装 psutil 进行回归测试,并使 Python 可从命令行使用。.上面那个也勾下,以免安装出问题。然后点击Customize installation


等待安装完毕

3. 配置Visual Studio

找到Developer Command Prompt for VS 2019并以管理员身份运行

提前在你想安装LLVM的盘下创建空文件夹。但不要安装到包含空格的路径(例如c:\Documents and Settings\...),因为会失败。我这里以E:\llvm为例

输入命令

e:
cd /llvm

接着输入如下命令,注册 Microsoft 调试接口访问 (DIA) DLL。LLVM PDB 测试和LLDB 开发需要 DIA 库 。

regsvr32 "%VSINSTALLDIR%\DIA SDK\bin\msdia140.dll"
regsvr32 "%VSINSTALLDIR%\DIA SDK\bin\amd64\msdia140.dll"

键入每个命令一般都会弹出提示,点击确认即可。

4.安装LLVM

获取源码

退出Developer Command Prompt for VS 2019并进入cmd命令行
键入以下命令安装psutil

pip install psutil


键入以下命令获取LLVM源码:

git clone https://github/llvm/llvm-project.git llvm

将LLVM切换到我们的目标版本

源码大小约为3GB。并且git方式下载的一般为最新的llvm版本。截止本文发出时,最新的版本已经到了LLVM 19。新版本有新特性,但并不代表一定好,而且新版本可能文档方面的资料少,这并不利于我们的开发工作。但我们可以使用git将其切换至指定版本。
进入lllvm-project目录,鼠标右键Open git bash here
键入

git tag

查看版本标签。例如我想切换的LLVM13的标签为llvmorg-13.0.1

键入命令,然后等待切换完毕

git checkout llvmorg-13.0.1

编译LLVM

编译LLVM需要使用到Cmake,而VS自带了cmake不需要我们安装。所以,我们要做的就是使用VS打开刚才切换完毕的llvm-project源码目录中的llvm子目录。

键入命令

cmake  -B build -DLLVM_ENABLE_PROJECTS=clang -DLLVM_TARGETS_TO_BUILD=X86 -Thost=x64
  • -B build: 这个选项告诉CMake在指定的目录中生成构建系统文件。在这里,build是构建目录的路径。如果该目录不存在,CMake会创建它。
  • -DLLVM_ENABLE_PROJECTS=clang: 这个选项,告诉CMake要构建LLVM项目的哪些部分。在这里,只构建了Clang,即C/C++编译器。
  • -LLVM_TARGETS_TO_BUILD=X86:告诉CMake要为哪些目标体系结构构建LLVM。在这里,只构建了X86体系结构的支持。
  • -Thost=x64: 默认情况下,CMake 生成的 Visual Studio 项目文件使用 32 位工具集。如果在 64 位版本的 Windows 上进行开发并希望使用 64 位工具集,需要传递该标志。这要求 CMake 3.8.0 或更高版本。

键入命令后开始构建:

构建完生成了一些配置信息以及一个build目录。在该目录下找到LLVM.sln并双击~~(666)~~ 。
然后在解决方案中找到ALL_BUILD,进行构建.(其实就是安装LLVM)。

构建过程大概需要1-2小时。然后…准备好听电脑风扇狂转。

大家可以自己写个Pass,做一下…就会发现很烦…
结束!

本文标签: 环境LLVMWindows