最近在研究編譯linux下的軟件到windows環境中。linux
發現了一個比cygwin更好玩的東西,那就是msys2git
其實以前也在試玩mingw和mingw64,2016-08-12,當時的最新版本,mingw是自帶了msys的1.0的,但mingw64就啥都沒帶了shell
而後玩得也不是很順暢,編譯起來也有不少問題出現,並且無法解決,直到發現了msys2windows
軟件主頁:https://sourceforge.net/projects/msys2/.net
安裝過程比較簡單,exe,雙擊安裝便可ip
安裝完後,會發現,根目錄下有三個相應的啓動文件源碼
mingw32_shell.bat、mingw64_shell.bat、msys2_shell.batit
該不一樣的命令不一樣處僅設置了一個變量set MSYSTEM=*編譯
在/etc/profile 文件中,咱們能夠看到,不一樣的值,會優先設置不一樣的path做爲相關程序的調用thread
mingw32_shell.bat、mingw64_shell.bat分別會增長引用(或者說優先引用)/mingw3二、/mingw64下的bin目錄
默認已經安裝了很多東西,咱們增長編譯環境
pacman -S tar
pacman -S gcc
pacman -S make
真的是很是方便。
但是好像並無看到ming32和64的不一樣,也沒有發現相關的目錄,從命令中,能夠發現,相關的軟件包分別對應不一樣的版本
$ pacman -Sl |grep gcc
mingw32 mingw-w64-i686-gcc 5.3.0-1
mingw32 mingw-w64-i686-gcc-ada 5.3.0-1
mingw32 mingw-w64-i686-gcc-fortran 5.3.0-1
mingw32 mingw-w64-i686-gcc-libgfortran 5.3.0-1
mingw32 mingw-w64-i686-gcc-libs 5.3.0-1
mingw32 mingw-w64-i686-gcc-objc 5.3.0-1
mingw64 mingw-w64-x86_64-gcc 5.3.0-1
mingw64 mingw-w64-x86_64-gcc-ada 5.3.0-1
mingw64 mingw-w64-x86_64-gcc-fortran 5.3.0-1
mingw64 mingw-w64-x86_64-gcc-libgfortran 5.3.0-1
mingw64 mingw-w64-x86_64-gcc-libs 5.3.0-1
mingw64 mingw-w64-x86_64-gcc-objc 5.3.0-1
msys gcc 4.9.2-6 [已安裝]
msys gcc-fortran 4.9.2-6
msys gcc-libs 4.9.2-6 [已安裝]
msys mingw-w64-cross-gcc 4.9.2-3
嘗試安裝其中一個
$ pacman -S mingw-w64-x86_64-gcc
正在解決依賴關係...
正在查找軟件包衝突...
軟件包 (15) mingw-w64-x86_64-binutils-2.25.1-1 mingw-w64-x86_64-bzip2-1.0.6-4
mingw-w64-x86_64-crt-git-5.0.0.4609.566d621-1 mingw-w64-x86_64-gcc-libs-5.3.0-1
mingw-w64-x86_64-gmp-6.1.0-1 mingw-w64-x86_64-headers-git-5.0.0.4609.566d621-1
mingw-w64-x86_64-isl-0.15-1 mingw-w64-x86_64-libiconv-1.14-5
mingw-w64-x86_64-libwinpthread-git-5.0.0.4573.628fdbf-1
mingw-w64-x86_64-mpc-1.0.3-2 mingw-w64-x86_64-mpfr-3.1.3.p0-2
mingw-w64-x86_64-windows-default-manifest-6.4-2
mingw-w64-x86_64-winpthreads-git-5.0.0.4573.628fdbf-1
mingw-w64-x86_64-zlib-1.2.8-9 mingw-w64-x86_64-gcc-5.3.0-1
下載大小: 47.34 MiB
所有安裝大小: 334.66 MiB
:: 進行安裝嗎? [Y/n] y
安裝完成,發現它自動安裝在了/mingw64目錄下
這時雙擊mingw32_shell.bat等bat,就會優先引用相對的bin
不過想在這上面直接編譯linux的程序,仍是異想天開的,畢竟平臺不一樣,源碼中引用的庫文件差異仍是很大的。
軟件安裝和yum差很少,命令是
pacman -S <須要安裝的軟件名>
pacman -R <須要刪除的軟件名>
pacman -Q <可查看已安裝的全部軟件列表>
直接使用msys2_shell.bat來啓動系統,它就和cygwin差很少,
也是依賴於一個3M多的轉換庫msys-2.0.dll,但多了像yum的鏡像,更像是一個完整的linux環境。
在這上面安裝編譯軟件,和cygwin幾乎同樣,錯誤也幾乎同樣,因此參考我之前的文章便可。