最近在研究編譯linux下的軟件到windows環(huán)境中。
發(fā)現(xiàn)了一個(gè)比cygwin更好玩的東西,那就是msys2
其實(shí)之前也在試玩mingw和mingw64,2016-08-12,當(dāng)時(shí)的最新版本,mingw是自帶了msys的1.0的,但mingw64就啥都沒(méi)帶了
然后玩得也不是很順暢,編譯起來(lái)也有很多問(wèn)題出現(xiàn),而且沒(méi)法解決,直到發(fā)現(xiàn)了msys2
軟件主頁(yè):https://sourceforge.net/projects/msys2/
安裝過(guò)程比較簡(jiǎn)單,exe,雙擊安裝即可
安裝完后,會(huì)發(fā)現(xiàn),根目錄下有三個(gè)相應(yīng)的啟動(dòng)文件
mingw32_shell.bat、mingw64_shell.bat、msys2_shell.bat
該不同的命令不同處僅設(shè)置了一個(gè)變量set MSYSTEM=*
在/etc/profile 文件中,我們可以看到,不同的值,會(huì)優(yōu)先設(shè)置不同的path作為相關(guān)程序的調(diào)用
mingw32_shell.bat、mingw64_shell.bat分別會(huì)增加引用(或者說(shuō)優(yōu)先引用)/mingw32、/mingw64下的bin目錄
默認(rèn)已經(jīng)安裝了不少東西,我們?cè)黾泳幾g環(huán)境
pacman -S tar
pacman -S gcc
pacman -S make
真的是非常方便。
可是好像并沒(méi)有看到ming32和64的不同,也沒(méi)有發(fā)現(xiàn)相關(guān)的目錄,從命令中,可以發(fā)現(xiàn),相關(guān)的軟件包分別對(duì)應(yīng)不同的版本
$ 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
嘗試安裝其中一個(gè)
$ pacman -S mingw-w64-x86_64-gcc
正在解決依賴(lài)關(guān)系...
正在查找軟件包沖突...
軟件包 (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
:: 進(jìn)行安裝嗎? y
安裝完成,發(fā)現(xiàn)它自動(dòng)安裝在了/mingw64目錄下
這時(shí)雙擊mingw32_shell.bat等bat,就會(huì)優(yōu)先引用相對(duì)的bin
不過(guò)想在這上面直接編譯linux的程序,還是異想天開(kāi)的,畢竟平臺(tái)不同,源碼中引用的庫(kù)文件差別還是很大的。
軟件安裝和yum差不多,命令是
pacman -S <需要安裝的軟件名>
pacman -R <需要?jiǎng)h除的軟件名>
pacman -Q <可查看已安裝的所有軟件列表>
直接使用msys2_shell.bat來(lái)啟動(dòng)系統(tǒng),它就和cygwin差不多,
也是依賴(lài)于一個(gè)3M多的轉(zhuǎn)換庫(kù)msys-2.0.dll,但多了像yum的鏡像,更像是一個(gè)完整的linux環(huán)境。
在這上面安裝編譯軟件,和cygwin幾乎一樣,錯(cuò)誤也幾乎一樣,所以參考我以前的文章即可。
看了要回復(fù),要不就沒(méi)心思寫(xiě)了~