1. 程式人生 > >Qt+Mingw環境(32位+64位)

Qt+Mingw環境(32位+64位)

MinGW-w64 - for 32 and 64 bit Windows下載地址:

檔案:mingw-w64-install.exe ---線上安裝包

還有一個部落格:MinGW 和 MSYS 的手動安裝與環境配置:

非常好的一個網站,有mingw32和64的詳細安裝介紹

選項:
threads posix或者win32 posix或者win32 
exception dwarf或者sjlj seh或者sjlj

1)如果沒有跨平臺編譯需求,就選win32。如果有的話選posix

2)dwarf、sjlj 的異常模型選擇,推薦使用dwarf即所謂dw2,這個模型便於除錯。不過出來的東西較sjlj的東西體量稍大些。

MinGW的全稱叫Minimalist GNU for Windows,是一套Windows環境下GNU編譯元件的介面,通俗的可以說是Win上的gcc [1]。比起MinGW,也許那隻企鵝CygWin更加著名一些,實現的效果也差不多,但事實上兩者的原理是不同的。Cygwin通過一箇中間層的動態連結庫來實現Win API和Cygwin的連線,好處是應用在Linux與Win之間移植更加方便,風格更加一致,缺點是釋出應用時一定要帶上Cygwin的環境動態庫,應用執行效率也略微有點低;MinGW則使用靜態連結的方式,生成的應用更加本地化,不需要依賴任何第三方的C/C++ RT動態連結庫,僅依賴Win自身的執行環境,應用執行效率也稍高[4]。當然現在這兩家也開始有了一些功能的互補,總而言之可以相互作為替代品使用。(2012-05-02修改)

MSYS的全稱叫Minimal SYStem,是MinGW的一個子系統,是一套執行在Windows上的bash,也就是執行在Win上的Linux Terminal [1]。這個比較好理解,其實就是在Win上使用Linux的命令列進行操作可以代替cmd來使用。對一些GNU的開源軟體,MSYS可能是必需的,因為它們通常需要./configure然後make才能執行(學Linux的童鞋應該非常熟悉這個流程了)[2]。我們將MSYS和MinGW配合使用就可以打造出一個Win下的GNU命令列終端和編譯系統。

有一點需要說明的是,MinGW是MSYS都是一套元件而不是一個單獨的程式。我們需要下載兩者的各元件的壓縮包來完成安裝和配置。元件的意義在於,我們可以下載需要的部分來配置一個想要的系統,比如不搞編譯器設計的童鞋可能不需要flex和bison元件(用來詞法和語法分析的),而automake工具也可以在需要的時候才安裝,這類似於Linux下環境的配置。知道了這些,我們就可以開始MinGW和MSYS的安裝了。

以下轉載自:百度經驗

配置mingw-w64環境變數

在桌面找到我的電腦圖示->右鍵->屬性->高階系統設定->選擇“高階”選項->選擇下面“環境變數”->Administrator 的使用者變數

如果有Path 變數的話直接雙擊開啟變數值欄輸入G:\MinGW\mingw64\bin;

並且輸入的這段放在最開頭,記得有分號。

【我這個是將mingw64安裝在G盤,所以“G:\MinGW\mingw64\bin;”如果你是安裝在C盤那麼就是C:\MinGW\mingw64\bin;】

驗證mingw-w64是否安裝配置成功:

第五步環境變數配置好之後,最好重啟電腦;然後開啟命令框輸入:gcc -v

顯示如下資訊 表示安裝配置成功,大功告成,你可以結合eclipse-cpp 軟體盡情地在64位環境開發64位的c++程式了

Qt:qt-opensource-windows-x86-5.11.1.exe下載地址

Qt:qt-opensource-windows-x86-mingw530-5.7.0.exe下載地址

由於編譯需要,平常下載的Qt版本是

安裝選項解釋:

Tools中的第二項,雖然名字帶 MinGW,但只是用於交叉編譯的(交叉編譯即在某一平臺上編譯用於其他平臺的程式),如果用不到,也可以不選。

我們新建一個Qt介面的Demo1,用預設的MinGW 32 測試 

如果你的電腦安裝了VS2013等產品,開啟VS安裝時候提供的控制檯視窗,比如:

隨便選擇一個,這裡我選擇 VS2013 x64 本機工具命令提示

cd到該程式目錄:D:\Qt\Project\build-Demo1-Desktop_Qt_5_11_1_MinGW_32bit-Debug\debug

用下面的命令檢視程式的頭部資訊:dumpbin /HEADERS Demo1.exe(or XXX.dll)

dumpbin /HEADERS Demo1.exe 

注:這裡命令如果不好使,肯定是空格的問題,我剛開始直接複製網頁上的,就會報錯,因為中間採用的是中文的空格

程式一下輸出太多,我們看不到最前面的資訊了,這裡我們可以加引數實現:
如 systeminfo | more 每執行一屏,按回車繼續檢視更多訊息

dumpbin /HEADERS Demo1.exe systeminfo|more 

安裝MinGW 64位,在Qt32位的同位置下,新建一個64位 mingw53_64

出錯,下載不到,只能找530的代替

MinGW-W64 GCC-5.4.0

下載地址:

解壓。接下來準備編譯Qt

發現有人已經有編譯好的,由於需求,先直接拿來用,看未來有沒有需求自己編譯

編譯好的Qt64位下載地址:

Qt 5.9.0 win64位

Qt官網僅提供32位Qt安裝包,因專案需要,編譯了64位的Qt5.9.0。
上傳方便也有64位Qt需求的程式設計師(媛)使用。 
備註:兩個部分

地址:

第一部分

第二部分

未來如果有需求,自己編譯,要參考部落格

而且一定記得Qt Creator 4.6.2 (Enterprise)     Qt Creator也要選擇一個64位版本的

還有一種方,直接配置官網編譯好的

下載地址:

 以下是網上的一段話,從這段話中,我覺得,可能qtcreator + mingw-x64 的組合不是隨意的,為了避免出錯,我們就選擇的時候,順便了解以下,qtcreator是由什麼Qt版本編寫的,然後選擇正確的mingw  x64

注意一: Qtcreator 原始碼存放路徑各資料夾的命名不要有中文,不能有空格
(尤為重要 有人下意識會把檔名命名為Qt creator,這裡有空格編譯時候就
會導致各種奇奇怪怪的問題)

注意二:編譯Qt Creator所使用的Qt Creator以及Qt 庫三者要一致(例如 
編譯Qt creator3.4.1, 其使用Qt5.4.2編寫的。所以我們編譯時候要使用Qt5.4.2 
對應的Qt creator版本要為Qt creator3.4.1(32bit).三者有一個不一致都會導致
奇奇怪怪問題出現)

這裡我進行了測試,並沒有要求必須相同,測試效果如下:

安裝了32位和64位的Qt Creator 以及 Qt5.5.0和MinGW5.1.0版本

其中Qt Creator基於其他版本Qt,並不影響

接下來是環境配置

具體如下: