2009-01-07 103 views
1

在生成文件,我有以下行:所有.cpp文件都依赖于两个.h文件?

helper.cpp: dtds.h 

这确保了无论何时helper.cpp dtds.h改变被重建。不过,我想在项目中的所有文件,如果任一其他两个头文件更改重建,有点像这样:

*.cpp: h1.h h2.h 

显然是行不通的,但我不知道正确的方式来获得努力做我想做的事。有人可以帮忙吗?我不想手动指定每个单独的文件依赖于h1.h和h2.h.

谢谢。 (我使用NMAKE包括与Visual Studio 2005)

回答

1

感谢您的帮助,克里斯托夫。我想:

.cpp.obj: h1.h h2.h 

,并得到了有用的错误消息:

makefile(58) : fatal error U1086: inference rule cannot have dependents 

我最终通过使,我想编译的文件列表,然后将依赖于整个解决它名单。

文件= file1.obj和file2.obj file3.obj $(文件):h1.h h2.h

3

尝试

%.cpp : h1.h h2.h 

,在GNU工程做 - 不知道,如果NMAKE是兼容...

编辑:和BTW :应该不就是

helper.o : dtds.h 

%.o : h1.h h2.h 

毕竟,你不想重拍.cpp文件(你如何让一个源文件?),但是重新编译..

编辑2:检查NMAKE Reference。据this,像

.cpp.obj: h1.h h2.h 

可能工作...

+0

%的.o似乎并不NMAKE工作,很遗憾。由于某些原因,“helper.cpp:dtds.h”和“helper.obj:dtds.h”都可以正常工作。 – Colen 2009-01-07 00:58:36