如何将多个.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 手册来获取更多指导和高级选项。
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3