在C++中更改.h文件不需要再次编译?

Res*_*ter 6 c++ makefile compilation header-files

我有以下问题.在成功编译之后,如果我在仅更改其中一个.h文件中的某些内容后再次编译它,则计算机会说:

make:没有什么可以为'all'做的.

即使我只修改了.h文件,我是否可以强制编译器再次编译?

Rua*_*man 5

如果希望在头文件更改时更新输出,则必须将其添加到依赖项语句中:

 myprogram: myprogram.cpp myprogam.h
      c++ -o myprogram myprogram.cpp
Run Code Online (Sandbox Code Playgroud)

通常我们不这样做,因为执行操作的代码保留在cpp文件中.如果您使用的是unix并且想要强制重建,只需触摸cpp文件以使用"touch myprogram.cpp"更新其时间戳(强制重建),或者删除现有的可执行文件.

如果你使用没有Makefile的make,让它推断依赖,它可能不会推断出头依赖.在这种情况下,要么吹走可执行文件,要么触摸源文件.

  • 另外,我的3分钟Makefile教程:https://gist.github.com/VirtualMe/6194181 (2认同)