ps:最开始尝试用VS+cmake编译,挣扎快两天,问题太多,如果有成功的小伙伴可以评论留言!!
一、安装前准备
本人win10操作系统
1. winrar 5.91 版本 (其他解压软件应该也可以)
2. python2/python3 二选一下载并将bin目录添加环境变量,
下载地址如下,官网下载即可
https://www.python.org/ftp/python/2.7.18/python-2.7.18.amd64.msi
https://www.python.org/ftp/python/3.8.5/python-3.8.5.exe
参考 https://www.ituring.com.cn/article/274116
3. 安装cmake 添加环境变量,官网下载即可 我下的最新的3.15.5
https://dl.softmgr.qq.com/original/Development/cmake-3.15.5-win64-x64.msi
4. mingw下载安装添加环境变量
这里注意最好下载6.2 或 5.4版本 ,我因为要用GCC选择了5.4版本
gcc版本过高可能导致编译过程出现问题,踩雷
https://blog.csdn.net/qq153471503/article/details/84494090
这是前辈整理的mingw所有版本下载地址,如果下载慢请科学下载
5.(可选)安装gnu32,添加环境变量
“gnuwin32主要是对习惯linux工具的人员,在windows上提供一套类似的命令。”
https://nchc.dl.sourceforge.net/project/getgnuwin32/getgnuwin32/0.6.30/GetGnuWin32-0.6.3.exe
安装后分别运行GetGNU32目录下的donwload.bat 和install.bat, 具体步骤参考下面博客
https://www.cnblogs.com/cnsevennight/p/4253167.html
下图是我目前的环境变量,注意以上的环境变量路径中不要含有中文!!!!

6.下载llvm3.8.1 和clang3.8.1源码并解压
https://releases.llvm.org/3.8.1/llvm-3.8.1.src.tar.xz 文件夹命名为llvm
https://releases.llvm.org/3.8.1/cfe-3.8.1.src.tar.xz 文件夹命名clang
这里将他们置于同一根目录下 方便使用
按需求可以下载compiler-rt 等源代码,我只下了上边两个
二、安装过程
1.编译安装llvm
打开命令行
cd 进入llvm和clang的上级目录
md build 创建build文件夹
cd build
cmake -G "MinGW Makefiles" ../llvm 这里默认使用debug模式,会有调试信息,
追求速度可以添加option -DCMAKE_BUILD_TYPE=Release
cmake命令过程中可能会出现 not found 的情况, 是linux和windows平台差异造成的,可以忽略此问题

mingw32-make.exe -j4 4个线程加快编译,但出错后不太好找到报错的位置,可以再次输入mingw32-make.exe查看最近的报错信息
成功后build的bin文件夹如下,将bin目录加入环境变量

重启命令行输入llvm-as --version,显示如下,说明编译安装成功

2.编译安装clang
cd clang
md build
cd build
这里先不要cmake,由于gcc版本的问题,直接cmake安装最后会报错出现下面的类似问题

解决办法:
修改clang目录的CMakeLists
在top level 加入(写在第二行就行)
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility=hidden -Wall -O3 -Wa,-mbig-obj -std=gnu++11" )
保存开始cmake
接着上面
cmake -G "MinGW Makefiles" ../
mingw32-make.exe -j4
编译结束后同样在build文件夹下生成bin文件夹,将bin目录添加环境变量

重启命令行,输入 clang --version查看clang版本

可以写一个c或c++程序用clang编译一下,运行查看结果

成功啦!!!
有问题请下面留言吧
前人栽树,后人乘凉,感谢支持
参考:
http://clang.llvm.org/get_started.html
https://www.ituring.com.cn/article/274116
https://blog.csdn.net/qq_37206105/article/details/102774693
.......
浙公网安备 33010602011771号