如何在Windows下使用make編譯Makefile

zhaotianff發表於2024-08-23

最近有小夥伴諮詢我去編譯執行一個程式。我一開始以為是CMakeLists,結果發現是makefile。

什麼是Makefile

‌Makefile是一種用於自動化構建和管理程式的工具‌,它定義了專案中檔案的依賴關係和構建步驟,幫助程式設計師自動化編譯、連結和打包程式,從而提高軟體開發效率。

Makefile的主要作用包括:

  • ‌管理複雜的編譯過程‌:在一個大型專案中,原始檔可能數量眾多,分佈在不同的目錄和模組中。Makefile透過定義一系列規則,指定哪些檔案需要先編譯,哪些檔案需要後編譯,哪些檔案需要重新編譯,甚至進行更復雜的功能操作。
  • ‌自動化編譯‌:Makefile能夠根據檔案的最後修改時間自動發現更新過的檔案,減少不必要的編譯工作。當某個檔案或其依賴項更新時,Makefile只會重新編譯受影響的檔案,而不是整個專案,從而提高了編譯效率。
  • ‌靈活性和可維護性‌:Makefile允許定義變數和規則,使得構建過程更加靈活和可維護。開發人員可以根據專案的需求修改Makefile,而不需要修改實際的編譯命令。
  • ‌跨平臺使用‌:Makefile是一種跨平臺的工具,可以在不同的作業系統上使用,例如Linux、Unix和Windows等,這使得它成為一種通用的構建解決方案。

如何解析Makefile

這裡需要借用make工具。

1、下載make工具

開啟make官網,找到下載部分

https://www.gnu.org/software/make/#download

可以選擇以下幾種下載方式

或者直接訪問https://ftp.gnu.org/gnu/make/

下載最新版本,解壓到本地

執行build_w32.bat可以生成make工具的二進位制檔案。

但是這裡有個前提,需要準備GCC或MSVC環境

這裡兩種環境的準備都介紹一下

GCC環境

GCC(GNU Compiler Collection,GNU編譯器套件)是由GNU開發的程式語言編譯器。

官方下載地址:https://gcc.gnu.org/mirrors.html

但是這些映象地址都在國外,下載比較慢,而且下載回來還得自己編譯。

這裡提供一個比較方便的辦法,直接下載codeblocks帶mingw版本,可以戳這裡下載

安裝codeblocks後,在環境變數中新增MinGW的路徑。

相關文章