c++ - 编译.h文件

标签 c++ makefile

如何在我的 makefile 中包含我自己的“.h”文件的重新编译/更新。

这是我的生成文件:

COMPILER = g++
SOURCES =  main.cpp 
APP = executable/main

OBJECTS = $(SOURCES:.cpp=.o)

all: $(SOURCES) $(APP) 

$(APP): $(OBJECTS)
    $(COMPILER) $(OBJECTS) -o $@

clean:
    rm -rf *.o $(APP)

假设现在我想重新编译项目,但我只是修改了 whatever.h 和 whatever1.h。这些文件包含在 main.cpp 的 header 中。

最佳答案

将这些文件添加到 $(APP) 的依赖列表中没有任何好处。 这将导致 Make 重新链接(即构建main out of main.o) 但不重新编译(即从 main.cpp 构建 main.o >、whatever.hwhatever1.h)。可执行文件的行为不会改变——它不会反射(reflect)您对 header 所做的更改。

您应该将这些文件添加到目标文件的先决条件列表中:

main.o: whatever.h whatever1.h

关于c++ - 编译.h文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10500860/

相关文章:

makefile - 使总是重建

c++ - 删除右 child 使父左指针指向 nullptr

c++ - Webbrowser Active X 自定义动态 MIME 处理程序 pdf

C++为什么const X&可以被函数修饰?

c++ - 尽管参数正确,但简单的字符串替换给出错误

c++ - 配对堆与 std::priority_queue

go - "make: go: command not found"- 尽管 go 二进制文件在 $PATH 中

java - 在 Mac 上安装 Jmagick-6.6.9 未生成 .dylib

C++ 文件需要库支持

c++ - 创建用于编译 C++ 的通用简单 Makefile