如何將多個.cpp 檔案編譯並連結為二進位檔案
本文旨在解決將多個.cpp 檔案編譯為二進位文件的問題.o 物件並將它們連結到單一二進位檔案中。
Makefile 配置
要實現此目的,可以使用包含以下內容的Makefile:
SRC_DIR = ./src OBJ_DIR = ./obj SRC_FILES = $(wildcard $(SRC_DIR)/*.cpp) OBJ_FILES = $(patsubst $(SRC_DIR)/%.cpp,$(OBJ_DIR)/%.o,$(SRC_FILES)) main.exe: $(OBJ_FILES) g++ $(LDFLAGS) -o $@ $^ $(OBJ_DIR)/%.o: $(SRC_DIR)/%.cpp g++ $(CPPFLAGS) $(CXXFLAGS) -c -o $@ $<
說明:說明:
依賴關係圖產生
要自動產生原始檔案與目標檔案之間的依賴關係,請將下列內容新增至Makefile:CXXFLAGS += -MMD -include $(OBJ_FILES:.o=.d)
最佳實務
這種方法通常用於編譯和連結多個C 檔案。然而,有必要參考 GNU Make 手冊來獲取更多指導和進階選項。以上是如何將多個 .cpp 檔案編譯並連結到單一二進位檔案?的詳細內容。更多資訊請關注PHP中文網其他相關文章!