在 Linux 中,Makefile 是一個用于自動化編譯和構建 C++ 項目的文件
創建一個名為 Makefile
的文件。確保文件名的大小寫正確,因為 Linux 是區分大小寫的。
在 Makefile 中,首先指定編譯器。通常情況下,我們使用 GNU 編譯器集合(GCC)或 Clang 編譯器。例如,使用 GCC 編譯器的默認設置,可以這樣指定編譯器:
CC = g++
為項目中的源文件指定一個變量。例如,如果你的源文件位于 src
目錄下,并且有一個名為 main.cpp
的源文件,可以這樣指定源文件:
SRCS = src/main.cpp
如果你的項目有多個源文件,可以將它們添加到一個列表中:
SRCS = src/main.cpp src/other_file.cpp
指定目標可執行文件的名稱。這通常是 main
或 app
等。將其添加到變量 TARGET
中:
TARGET = my_program
編寫編譯規則。規則告訴編譯器如何根據源文件生成目標可執行文件。這里是一個簡單的示例:
$(TARGET): $(SRCS)
$(CC) -o $@ $^
這個規則表示,當任何源文件發生更改時,都會重新編譯它們并生成名為 my_program
的可執行文件。$@
表示目標可執行文件的名稱,$^
表示所有源文件的名稱。
可以添加一些可選的編譯選項、鏈接選項和庫。例如,要添加 -Wall
選項以啟用所有警告,可以這樣做:
CFLAGS = -Wall
要鏈接一個名為 libexample
的庫,可以這樣做:
LDFLAGS = -lexample
如果需要安裝生成的可執行文件,可以添加一個名為 install
的目標:
install: $(TARGET)
install -m 755 $(TARGET) /usr/local/bin/
這將把名為 my_program
的可執行文件安裝到 /usr/local/bin/
目錄下。
最后,可以在終端中運行 make
命令來構建項目:
make
如果一切順利,這將生成一個名為 my_program
的可執行文件。如果需要安裝程序,可以運行:
make install
這是一個基本的 Makefile 示例。根據項目的具體需求,你可能需要對其進行修改和擴展。在實際項目中,你還可以考慮使用像 CMake 這樣的構建工具來簡化構建過程。