如何将多个 .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中文网其他相关文章!