mingw mysys若干問(wèn)題

前置說(shuō)明

MinGW 提供了一套簡(jiǎn)單方便的Windows下的基于GCC 程序開(kāi)發(fā)環(huán)境。MinGW 收集了一系列免費(fèi)的Windows 使用的頭文件和庫(kù)文件;同時(shí)整合了GNU ( http://www.gnu.org/ )的工具集,特別是GNU 程序開(kāi)發(fā)工具,如經(jīng)典gcc, g++, make等。MinGW是完全免費(fèi)的自由軟件,它在Windows平臺(tái)上模擬了Linux下GCC的開(kāi)發(fā)環(huán)境,為C++的跨平臺(tái)開(kāi)發(fā)提供了良好基礎(chǔ)支持,為了在Windows下工作的程序員熟悉Linux下的C++工程組織提供了條件。(來(lái)自于之前轉(zhuǎn)載文章:https://blog.csdn.net/k1988/article/details/4375382

MSYS的全稱叫Minimal SYStem,是MinGW的一個(gè)子系統(tǒng),是一套運(yùn)行在Windows上的bash,也就是運(yùn)行在Win上的Linux Terminal [1]。這個(gè)比較好理解,其實(shí)就是在Win上使用Linux的命令行進(jìn)行操作,可以代替cmd來(lái)使用。對(duì)一些GNU的開(kāi)源軟件,MSYS可能是必需的,因?yàn)樗鼈兺ǔP枰?/configure然后make才能運(yùn)行(學(xué)Linux的童鞋應(yīng)該非常熟悉這個(gè)流程了)[2]。我們將MSYS和MinGW配合使用就可以打造出一個(gè)Win下的GNU命令行終端和編譯系統(tǒng)。

有一點(diǎn)需要說(shuō)明的是,MinGW和MSYS都是一套組件而不是一個(gè)單獨(dú)的程序。我們需要下載兩者的各組件的壓縮包來(lái)完成安裝和配置。組件的意義在于,我們可以下載需要的部分來(lái)配置一個(gè)想要的系統(tǒng),比如不搞編譯器設(shè)計(jì)的童鞋可能不需要flex和bison組件(用來(lái)詞法和語(yǔ)法分析的),而automake工具也可以在需要的時(shí)候才安裝,這類似于Linux下環(huán)境的配置。知道了這些,我們就可以開(kāi)始MinGW和MSYS的安裝了。

mingw為什么安裝開(kāi)發(fā)工具時(shí)自動(dòng)安裝了mysys

因?yàn)閙ingw相當(dāng)于只移植了部分工具鏈(比如gcc)為windows原生程序,而仿linux環(huán)境的其它功能由mysys提供。
如果有其它仿linux的命令行環(huán)境,也可以在其它環(huán)境里使用mingw。

為什么 mingw和mysys中各有一套:autoconf、automake等

mingw按各種網(wǎng)上教程使用mingw-get-setup.exe進(jìn)行安裝,后續(xù)可以通過(guò)安裝目錄下的 <Mingw>/bin/mingw-get.exe來(lái)新增組件。

在Mingw installation Manager中分別顯示有Mingw和Mysys的包。里面都有automake等開(kāi)發(fā)工具鏈。


image.png

image.png

如果說(shuō)mingw下的automake是為了在windows命令行下直接使用,但<Mingw>/bin/autoconf等程序沒(méi)有.exe后綴,在cmd中也不能直接執(zhí)行。

最后詳細(xì)看看下面的“Description”中發(fā)現(xiàn),Mysy中的那些autoconf不是給普通用戶編譯代碼用的,而用于編譯mysys中的組件(mysys系統(tǒng)開(kāi)發(fā))使用的。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容