Win7 64位中MinGW和MSYS的安裝
背景: A. 由于需要在Win7 64位系統(tǒng)下使用Visual Studio,并調(diào)用OpenBlas庫,所以需要gcc在windows下編譯該庫。 B. MinGW集成了眾多的編譯器,因此想通過安裝MinGW來使用gcc。同時(shí),需要通過MSYS使用與編譯相關(guān)的命令行。因此,需要同時(shí)安裝MinGW和 MSYS。 C. 通常,網(wǎng)上能找到的MinGW安裝包中(http://www.)都已經(jīng)附帶了MSYS組件,且提供了GUI界面,因此安裝較為容易,可參考本人博文 (Windows 中OpenBlas 的安裝 - Windows 32bit 適用 )。然而,針對(duì)MinGW,這些安裝包中的編譯器往往只適用于Win32, 而不適用于Win64。 D. 因此,若要在Win7 64位中使用MinGW,就需要特別安裝 MinGW-w64。 E. MinGW和MSYS是兩個(gè)可獨(dú)立使用的組件。MinGW對(duì)操作系統(tǒng)敏感。
安裝: 安裝前請(qǐng)先務(wù)必卸載其他版本的MinGW。 1. 首先安裝MinGW-w64。
========== 安裝方法 A ========== 下載地址:http:///projects/mingw-w64/?source=recommended 而后啟動(dòng)該 .exe文件,開始安裝。安裝開始時(shí),需要注意設(shè)置為如下圖所示。安裝目錄設(shè)為 C:\MinGW,這個(gè)目錄是MinGW推薦的。由于是在線下載、安裝,所以耗時(shí)大概為30分鐘。 安裝完成后,需要將路徑 C:\MinGW\mingw64\bin 添加到PATH環(huán)境變量中。此時(shí)啟動(dòng)cmd窗口,輸入 gcc -v,則可以查看到gcc編譯器的版本信息。 備注: A. 不同于以往的MinGW安裝包,該MinGW-w64只包含了MinGW編譯器本身,而不包含MSYS等組件,因此在后續(xù)并不會(huì)彈出Windows 中OpenBlas 的安裝 - Windows 32bit 適用 中所示的組件選擇安裝界面。MinGW-w64只是單純的編譯器安裝包,這也是為什么本文中需要單獨(dú)安裝MSYS的原因。 B. 由于后續(xù)MSYS可能調(diào)用make命令,而MinGW系列只提供了名字為 mingw32-make.exe 的執(zhí)行文件(C:\MinGW\mingw64\bin 路徑下),事實(shí)上,該.exe 和make.exe 功能一樣,為了make執(zhí)行時(shí)能找到該文件,建議復(fù)制 mingw32-make.exe 一份,并將復(fù)制文件命名為'make.exe'。
========== 安裝方法
B ========== 方法A需要在線下載、安裝,因此對(duì)網(wǎng)絡(luò)有要求(我第二次用A方法安裝MinGW遇到的問題就是:可以瀏覽網(wǎng)頁并下載mingw-w64-install.exe,但后續(xù)的在線安裝就出問題: Cannot download repository.txt [0],具體原因沒有找到,只怪學(xué)校的網(wǎng)絡(luò)管得太...)。通過如下鏈接: http:///p/mingw-w64/mailman/message/32967954/ 直接下載合適配置的、已編譯的MinGW64文件庫,放到C:\MinGW目錄下,并同方法A一樣進(jìn)行后續(xù)處理。具體下載哪個(gè)版本,可以參考方法A中的setting,或者結(jié)合自己的需求。
2. 安裝 MSYS。 下載地址: http:///projects/mingwbuilds/files/external-binary-packages/ 在該下載頁面中,應(yīng)該下載的是下圖中README.txt下面的壓縮包文件,而非‘Download mingw-builds-install.exe’。 下載后,解壓縮,可看到文件內(nèi)有msys文件夾,將msys文件夾整體移動(dòng)到路徑 C:\MinGW 下。在msys文件夾內(nèi),會(huì)看到 msys.bat 文件,雙擊則啟動(dòng)MSYS,在MSYS中則可使用UNIX下的命令行,如make。
備注: A. 在MSYS中,可用 'where make' 來查看可供調(diào)用的 make.exe 位置。 我的一個(gè)小疑惑,如前面所寫,MinGW內(nèi)存在make.exe,而MSYS內(nèi)也存在make.exe(C:\MinGW\msys\bin),那么當(dāng)在MSYS內(nèi)輸入make命令時(shí),調(diào)用的到底是那個(gè)make.exe?
希望路過的知道答案的能指點(diǎn)一下。
|
|