在 Makefile 中编译和链接 C 源文件
您的目标是创建一个编译 /src 文件夹中所有 C 源文件的 Makefile并将它们链接到根 /project 文件夹中的二进制文件中。以下是实现此目的的方法:
Makefile 配置
SRC_DIR := src OBJ_DIR := obj SRC_FILES := $(wildcard $(SRC_DIR)/*.cpp) OBJ_FILES := $(patsubst $(SRC_DIR)/%.cpp,$(OBJ_DIR)/%.o,$(SRC_FILES))
LDFLAGS := ... CPPFLAGS := ... CXXFLAGS := ...
main.exe: $(OBJ_FILES) g++ $(LDFLAGS) -o $@ $^
$(OBJ_DIR)/%.o: $(SRC_DIR)/%.cpp g++ $(CPPFLAGS) $(CXXFLAGS) -c -o $@ $<
此 Makefile 会将 /src 目录中的每个源文件编译为 /obj 目录中相应的 .o 文件。然后它将链接所有 .o 文件以在 /project 目录中创建 main.exe 二进制文件。
最佳实践
这种方法通常被认为是一种常见方法编译和链接项目中的 C 源文件。但是,可以遵循某些最佳实践:
以上是如何使用 Makefile 将 C 源文件编译并链接为二进制文件?的详细内容。更多信息请关注PHP中文网其他相关文章!