1. MSYS2(Minimal SYStem 2)
一款模拟Linux环境的软件,可以执行Linux命令。通过pacman管理工具,类似Ubuntu上apt-get,RedHat中的yum。分三套环境:UCRT64 MINGW64 CLANG64,不同的工具链,但是目的相同。推荐在windows上用UCRT64环境
MSYS2的作用就是可以将linux工具链创建的工程,方便在在windows上编译。比如make构建的工程在linux上一两条命令就可以,在windows要编译就得配置各种工具。
MSYS2最大好处就是能够在Windows上轻松编译一些由Unix环境工具链开发的工程,比如:ffmpeg,rnnoise
rnnoise:https://github.com/xiph/rnnoise.git,这是一款基于深度学习的音频降噪库,它的工程由MakeFile组织,编译脚本用的是shell,这样如果要生成Windows上编译可用的二进制,就需要MSYS2这样的环境。
2.WSL2(Windows Subsystem for Linux)
一款由 Microsoft 开发的真实Linux环境,类似一个Linux虚拟机,可以直接运行Linux二进制,当然在该环境下编译生成的也是Linux的二进制可执行产物。
实际上 Microsoft 在 WSL2 中提供了 Linux 的内核,GitHub :https://github.com/microsoft/WSL2-Linux-Kernel
用户部分由 Linux 发行商(Ubuntu Debian 等),这些专为 WSL2 打造的 OS 去掉了内核和启动代码,保留了用户部分的文件系统,软件包,工具链等。
所以同样是rnnoise工程,在MSYS2中编译生成的demo 就是PE格式的Windows可执行程序rnnoise_demo.exe
WSL2 中编译生成的就是适合运行在Linux中ELF格式的 rnnoise_demo
这两套环境,第一套是为Windows服务,方便将Linux工具开发的工程在Windows上编译使用,第二套是为了在Windows上开发和运行Linux应用

被折叠的 条评论
为什么被折叠?



