之前的博文中有不少涉及到win下使用unix環境的一些東西,但都是為了做別的事情,還是寫一個專門講這個主題的文章吧。
主角:Cygwin、mingw-W64、MSYS2。
注:mingw已經停止更新很多年了,不再討論,mingw-w64是專門替代的。個人最喜歡用MSYS2,因為可以使用pacman包管理器。
一、這些東東有什么用?
都是在windows系統中構建unix環境的一些工具,這樣就可以在Windows下使用一些unix上面的軟件。
二、這些工具之間的區別與聯系是什么?
有兩個地方對這個問題探究的很深入我就不贅述了
1、https://www.biaodianfu.com/cygwin-ming-msys.html
2、https://www.zhihu.com/question/22137175
建議好好看,多看幾遍。
如果看了上面的回答,那么就很容易理解了,你想在windows下使用gcc、gdb、emacs等等unix原生的東西,就需要在win下安裝這幾個工具中的一個來實現。
三、怎么安裝這些工具?
Cygwin
官網:https://cygwin.com/
之前做Windows XP上裝SSH的時候詳細介紹過:http://www.cnblogs.com/feipeng8848/p/8555648.html
mingw-W64
官網:http://mingw-w64.org/doku.php
去這個連接直接下載壓縮包。也可使用在線安裝器,但是速度很慢,我就直接下載的壓縮包。
得到安裝包后解壓縮,然后我放置到了 “C:\Program Files\mingw-w64\” 目錄下,mingw-w64是手動創建的,然后再添加環境變量
上圖中的完整路徑是:C:\Program Files\mingw-w64\x86_64-8.1.0-release-posix-seh-rt_v6-rev0\mingw64\bin
然后再powershell(或者cmd)中輸入 “gcc -v” 就能看見gcc版本號了,說明安裝成功。
MSYS2
官網:http://www.msys2.org/
官網首頁就是安裝教程,非常詳細就不做介紹了。裝完后別忘記配置環境變量以在cmd或者powershell中直接使用。
安裝完之后更換源會提高安裝軟件的速度,詳情看:https://www.cnblogs.com/feipeng8848/p/10037962.html
四、應用場景舉例
比如使用vscode調試C語言。就要用到gcc、gdb。可以選擇使用Cygwin、mingw-w64、MSYS2這三個工具中的任何一個來安裝gcc、gdb,然后配置下環境變量就可以用。
mingw-64
安裝完mingw-w64(其實就是解壓壓縮包)bin目錄下就有gcc、gdb。
Cygwin
在安裝界面中選中gcc、gdb安裝,不要忘記選擇gcc的依賴,這就有點麻煩,可能多選少選。
MSYS2
先搜索
pacman -Ss gcc
然后找到完整的名字后安裝:
pacman -S mingw-w64-x86_64-gcc
非常喜歡這個pacman命令的方式。