1. 程式人生 > >在Windows下使用CMake+MinGW搭建C/C++編譯環境

在Windows下使用CMake+MinGW搭建C/C++編譯環境

1.1 MinGW

MinGW 是一個可自由使用和自由釋出的Windows特定標頭檔案和使用GNU工具集匯入庫的集合,允許你生成本地的Windows程式而不需要第三方C執行時庫。簡單說,MinGW是一個編譯環境,包含了C++程式碼編譯過程中需要的三方庫、標頭檔案……用於完成C++原始碼的編譯、連結,類似於早期Windows下的Turbo C。現在的VisualStudio環境集成了編譯、連線的功能,所以實際的編譯、連線過程對開發者是不可見的,不同的是,VS使用了微軟的編譯器、聯結器。在安裝、配置MinGW後,我們就可以在命令列中通過g++命令編譯、連結生成可執行檔案。 
這裡寫圖片描述

1.2 CMake

CMake是一個跨平臺的自動化建構系統,它使用一個名為 CMakeLists.txt 的檔案來描述構建過程。CMake可以執行在Windows和Linux環境下,根據配置的編譯器不同,生成符合所在作業系統的Makefile檔案,在Windows下可以生成VS的工程檔案系統。 
CMake圖形化介面

2 工具安裝配置:

2.1 MinGW

2.1.1 安裝

從MinGW官網(MinGW Installer)獲取MinGW安裝檔案,雙擊開始安裝:

  • 安裝目錄可以自己指定,但必須記錄,以便後續配置環境變數 
    這裡寫圖片描述

  • 安裝工具開始下載需要的安裝檔案 
    這裡寫圖片描述

  • “Basic Setup”中的所有包建議選擇,其他的根據自己需要選擇 
    這裡寫圖片描述

  • 安裝過程中,部分包可能下載失敗,不用關注,等完成後再更新一次即可,如果更新也失敗可換時間重試,或者等到後續用到的時候再下載。 
    這裡寫圖片描述

2.1.2 配置

在設定Windows環境變數,在Path中增加MinGW的bin目錄 
這裡寫圖片描述

注意: 
- 啟動Windows命令列,執行g++ –version命令,如果能查到g++版本,則說明配置正確。 
這裡寫圖片描述

 
- 如果命令執行失敗,則可能是G++安裝失敗,或者環境變數設定不生效,可以重新安裝或者重新配置環境變數後重新啟動即可。

2.2 CMake

2.2.1 安裝

從CMake官網(CMake Installer)取CMake安裝檔案,雙擊後開始安裝: 
這裡寫圖片描述

  • 安裝過程中建議參照以下配置設定環境變數: 
    這裡寫圖片描述

2.2.2 配置

CMake在安裝過程中已經配置了環境變數,所以不需要手動配置。安裝完成後,可以在命令列中執行命令cmake –version,如果安裝配置正確,則會顯示下列資訊: 
這裡寫圖片描述

3. 使用MinGW在Windows環境下編譯C++程式碼並生成可執行檔案:

3.1 原始碼所在目錄結構:

這裡寫圖片描述

3.2 建立CMakeList檔案:

這裡寫圖片描述

3.3 啟動GUI版CMake工具,生成Makefile:

  • 配置編譯目錄——原始碼根目錄: 
    這裡寫圖片描述
  • 點選Config按鈕,配置編譯器: 
    這裡寫圖片描述
  • 點選Generate按鈕,生成makefile: 
    這裡寫圖片描述

3.4 執行Make命令,生成可執行檔案:

這裡寫圖片描述 
這裡寫圖片描述

4. 常見錯誤:

4.1 在CMake介面點選Config,提示工程檔案無效:

這裡寫圖片描述 
此時可能是CMakeList.txt不存在或者命名錯誤,請手動建立改檔案,檔名大小寫敏感,建立檔案後,請重新啟動CMake。

4.2 CMakeList.txt中存在語法錯誤:

這裡寫圖片描述
圖示在CMakeList.txt檔案第10行,檔案路徑使用“\”,這是不合法的,應該改成“//”

4.3 在make過程中,報“標頭檔案找不到”錯誤:

這裡寫圖片描述
該問 題可能是引用了在MinGW中不存在的標頭檔案。當在Window中藉助VS工具開發的程式碼時,該問題可能較為常見。如果大家建立的工程需要在Linux 下執行,那在編碼過程中,儘量避免使用Windows系統檔案或者VS專有的標頭檔案,或者通過編譯巨集進行區分。