首頁 > 後端開發 > C++ > 如何建立簡單的 C Makefile 進行編譯和連結?

如何建立簡單的 C Makefile 進行編譯和連結?

Mary-Kate Olsen
發布: 2024-12-24 14:05:10
原創
832 人瀏覽過

How to Create a Simple C   Makefile for Compilation and Linking?

如何製作簡單的 C Makefile

簡介

建立 Makefile 對於編譯和執行 C 專案是必要的。本文介紹了 Make 以及建立簡單 Makefile 的逐步指南。

了解 Make

Make 是建置依賴項管理器,用於編排指令需要執行的順序。執行以編譯 C 原始檔並將其連結為可執行檔。

設定 Makefile

對於此範例,我們假設您有一個名為 a3driver.cpp 的 C 檔案和 /user/cse232/Examples/example32.sequence.cpp 中的匯入類別。

Makefile 的建置區塊

變數: 讓變數可讓您儲存編譯器標誌和函式庫等資訊。範例:

CPPFLAGS=-g -pthread -I/sw/include/root
登入後複製

目標與相依性行: 目標行指定要產生的輸出,而依賴行列出建立目標所需的檔案。範例:

tool: tool.o support.o
    g++ $(LDFLAGS) -o tool tool.o support.o $(LDLIBS)

tool.o: tool.cc support.hh
    g++ $(CPPFLAGS) -c tool.cc
登入後複製

範例Makefile

以下是符合您特定要求的簡單Makefile:

CPPFLAGS=-g
LDFLAGS=-g
LDLIBS=-L/usr/lib/-llua5.2
SRCS=a3driver.cpp /user/cse232/Examples/example32.sequence.cpp
OBJS=$(SRCS:.cpp=.o)

all: a3driver

a3driver: $(OBJS)
    $(CXX) $(LDFLAGS) -o a3driver $(OBJS) $(LDLIBS)

.PHONY: clean
clean:
    rm -f $(OBJS) a3driver
登入後複製

說明
    SRCS定義原始文件,OBJS 產生對應的目標文件。
  • all 是預設目標,a3driver 是執行檔。
  • clean 目標刪除目標檔案和執行檔。
  • 結論
這個範例 Makefile 應該允許您使用指定的外部類別編譯並執行您的 C 專案。請記住,Makefile 是可自訂的,因此請隨意根據您的需求擴展和修改它們。

以上是如何建立簡單的 C Makefile 進行編譯和連結?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板