Windows配置开发环境太复杂?试试MSYS2

MSYS2 与 Scoop、WSL

  • MSYS2主要用于提供Unix开发环境,如GCC、make…,可以更方便的进行本地编译
    • 手动安装需要编译或Unix环境才能用的程序,如linux版本的git、Mysql、Docker、GCC
    • 使用pacman作为包管理工具
  • Scoop主要用于Windows应用安装和管理,如vscode for win、git for win、nvim for win
    • 能安装的原生win程序,有一些原本在Linux上使用,但提供了Windows版本的软件,安装需要自己编译或者安装比较复杂的软件,如Nvim for win,Docker for win
    • 本身就是包管理工具
  • WSL相当于双系统,提供Linux环境,使用WSL编译Win程序只能交叉编译

交叉编译和本地编译

  • 交叉编译是指在一个平台(通常称为宿主平台)上编译生成可在另一个不同平台(目标平台)上运行的代码。例如在WSL上编译Win程序
  • 本地编译是指在目标平台(程序最终运行的平台)上进行编译的过程。例如在Win上使用MSYS2编译Win程序,在WSL上编译Linux程序

1、Windows安装MSYS2

  1. 官网下载安装即可:https://www.msys2.org/

在这里插入图片描述

  1. 指定MSYS2安装路径,然后下一步

在这里插入图片描述

  1. 添加环境变量C:\msys64\ucrt64\bin

在这里插入图片描述

  1. 搜索MSYS2即可使用

在这里插入图片描述

区别

在这里插入图片描述

  • MSYS:提供了基本的 Unix - like 工具,如 bash shell、make 等,是一个轻量级的 Unix 模拟层,主要用于构建一些简单的脚本和工具,所有其他环境继承自 MSYS 环境,编译时不建议使用
  • CLANG64:C语言编译组,基于LLVM
  • CLANGARM64:ARM64 架构的 CLANG 编译器环境,可用于Android程序编译
  • MINGW64:在 Windows 下运行的 GNU 工具链,依赖于windows自带的C语言库msvcrt
  • UCRT64(Universal C Runtime):通用C运行时,提供更新的Windows C组件,建议使用此环境

2、基本使用

  1. 更新MSYS2
pacman -Syu
  1. 删除缓存

所有缓存在MSYS2安装目录的/var/cache/pacman/pkg/

paccache -r
  1. 删除不支持的包
pacman -Qm
  1. 查找包
pacman -Ss <name of the package>
  1. 查找已安装的包
pacman -Qs <name of the package>
  1. 安装包
pacman -S <name of the package>
  1. 卸载包
pacman -R <name of the package>
  1. 安装已下载的包
pacman -U <packagefile.tar.zst>
# 或
pacman -U <packagefile.tar.xz>
  1. 查找包需要的依赖项
pactree mingw-w64-x86_64-gettext
  1. 查找包安装的位置
which <name of package>

3、Windows安装mingw-w64 GCC

安装

pacman -S mingw-w64-ucrt-x86_64-gcc

验证

gcc --version

4、Windows安装make

pacman -S make

验证

make -v

5、Windows安装Cmake

pacman -S ucrt64/mingw-w64-ucrt-x86_64-cmake

验证

cmake --version

6、Windows安装zlib

pacman -S mingw-w64-x86_64-zlib

验证

gcc -v

7、Windows安装 libssl - dev

pacman -S mingw-w64-x86_64-openssl

验证

openssl version

8、Windows安装 libsasl2 - dev

pacman -S mingw-w64-x86_64-cyrus-sasl

9、Windows安装 libsasl2 - dev

pacman -S mingw-w64-x86_64-cyrus-sasl

10、Windos安装Rust开发环境

这里使用MSYS2提供的GNU工具链,而不是MSVC(不需要安装Visual Sudio)

  1. 安装GNU工具链
pacman -S mingw-w64-x86_64-toolchain
  1. 下载Rust Init.exe并打开:https://www.rust-lang.org/zh-CN/tools/install

  2. 选择自定义安装

在这里插入图片描述

  1. 将环境修改为GNU,再按1即可安装GNU版本
x86_64-pc-windows-gnu

在这里插入图片描述

验证

rustc --version
  1. Linker配置
    Cargo全局配置C:\Users\Administrator\.cargo\config.toml,新建一个文件
[target.x86_64-pc-windows-gnu]
linker = "C:\\msys64\\mingw64\\bin\\gcc.exe"
ar = "C:\\msys64\\mingw64\\bin\\ar.exe"

你也可以通过以下方式配置指定项目

  • /projects/foo/.cargo/config.toml
  • /projects/.cargo/config.toml

Rustup配置C:\Users\Administrator\.rustup\settings.toml

在安装时选2配置的内容,不需要修改

default_host_triple = "x86_64-pc-windows-gnu"
default_toolchain = "stable-x86_64-pc-windows-gnu"
profile = "default"
version = "12"

[overrides]
  1. 添加环境变量
    除了msys2、mingw需要添加外,.cargo\bin也需要添加,(默认会自动添加)
C:\Users\Administrator\.cargo\bin

C:\msys64

C:\msys64\mingw64\bin
  1. 验证
rustc  --version --verbose

在这里插入图片描述

cargo --version --verbose

在这里插入图片描述

### 配置MSYS2环境 #### 安装与初始化 为了设置MSYS2环境,首先需要从官方网站下载并安装最新版本的MSYS2工具包。完成安装后,启动MSYS2终端以更新软件包数据库和核心系统文件[^1]。 ```bash pacman -Syu ``` 执行上述命令之后,可能需要重新启动MSYS2终端来应用更改。接着再次运行 `pacman -Su` 来确保所有的软件包都已更新至最新版本[^1]。 #### 编译器安装 对于开发需求,特别是涉及到C/C++项目时,GCC编译器是必不可少的一部分。可以通过以下命令安装基础的构建工具链: ```bash pacman -S base-devel mingw-w64-x86_64-toolchain ``` 这一步会安装包括GCC在内的多个必要组件用于Windows平台上的MinGW-w64架构支持[^1]。 #### 设置Go语言环境变量 当目标是在此环境中建立一个能够调用外部库(如confluent-kafka-go)的应用程序时,则需额外注意一些特定参数设定。例如,在准备阶段应确认设置了正确的CGO_ENABLED标志位为"1"[^1]: ```bash export CGO_ENABLED=1 export PATH=$PATH:/c/path/to/go/bin ``` 以上脚本片段展示了如何激活CGO功能以及扩展系统的可执行路径以便于访问Go二进制文件[^1]。 #### 跨平台VxWorks交叉编译环境搭建 如果考虑更复杂的场景比如针对嵌入式实时操作系统(VxWorks),则可以参考National Instruments提供的指南文档获取相应的GCC交叉编译套件,并按照其指示逐步操作直至成功部署完毕[^2]。 请注意,虽然这里提到的是基于较旧的操作系统(Windows XP)下的流程描述,但对于现代桌面级OS同样适用只需调整部分细节处理方式即可满足实际应用场景的要求。 #### Deep Learning框架的支持 另外值得注意的一点在于某些高级别的机器学习或者深度神经网络模型训练过程中也可能需要用到类似的Linux仿真层解决方案来进行本地化调试优化等工作流管理;此时除了常规依赖项外还需要特别关注几个关键模块是否存在冲突现象及其解决办法[^3]。 例如通过pip工具依次安装如下列表中的Python包就可以获得完整的MMDetection3D生态体系支持能力从而进一步开展研究探索活动: ```bash pip install mmcv-full==1.6.0 mmdet==2.28.2 mmsegmentation==0.30.0 git clone https://github.com/open-mmlab/mmdetection3d.git && cd $_ git checkout v1.0.0rc6 && pip install -e . pip install -r requirements.txt ``` 这些步骤共同构成了一个较为完善的科研计算平台建设方案供开发者们选用实践验证效果如何[^3]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

cci497

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值