在 Ubuntu 系統(tǒng)中,可以使用 gcc 命令來編譯 C/C++ 程序。如果希望將多個(gè)源文件一起編譯,并且避免每次都輸入復(fù)雜的編譯命令,可以使用 Makefile 文件來管理編譯過程。
下面是一個(gè)簡單的示例 Makefile 文件,用于編譯一個(gè)由 main.c 和 func.c 組成的項(xiàng)目:
CC=gcc
CFLAGS=-Wall
all: myprogram
myprogram: main.o func.o
$(CC) $(CFLAGS) -o myprogram main.o func.o
main.o: main.c
$(CC) $(CFLAGS) -c main.c
func.o: func.c
$(CC) $(CFLAGS) -c func.c
clean:
rm -f myprogram *.o
在這個(gè) Makefile 中,定義了幾個(gè)變量,包括編譯器 gcc 和編譯選項(xiàng) -Wall。接著定義了一個(gè) all 目標(biāo),它依賴于 myprogram 目標(biāo)。myprogram 目標(biāo)依賴于 main.o 和 func.o 兩個(gè)目標(biāo),分別對(duì)應(yīng)于 main.c 和 func.c 兩個(gè)源文件的編譯。最后定義了一個(gè) clean 目標(biāo),用于清理生成的可執(zhí)行文件和中間目標(biāo)文件。
要使用這個(gè) Makefile 文件,只需要在項(xiàng)目目錄下創(chuàng)建一個(gè)名為 Makefile 的文件,然后在終端中運(yùn)行 make 命令即可。make 命令會(huì)自動(dòng)根據(jù) Makefile 中定義的規(guī)則來編譯項(xiàng)目。