2010-10-22 52 views
1

方案1:使看不到变化?

我检出了一个项目,并对源文件做了一些更改,并确定了make,并看到了更改。

方案2:

我再次被检出的项目不同的目录下(由于某种原因),这里复制的修改的源文件,并没有做并没有任何反应,如果我运行程序,我没有看到我的更改,使得看不到我对此源文件进行了更改

回答

3

make使用文件的时间戳确定要构建的内容。

也许你的版本控制系统正在用当前时间检查所有文件。当你复制你的源代码时,它已经有一段时间了,使make认为目标文件(大概在你的签出中)比你的源代码更新。

如果是这种情况,您可以使用touch来设置文件的时间戳。

0

好的,我刚刚触摸了复制的(修改过的)源代码,现在可以识别这些更改。

1

添加到现有的答案:

触摸的目标,你可以使用化妆的-t--touch选项。这个选项不会制作目标,而只是触摸它,以便下一次调用make时,目标将被制作。

或者,您可以使用-B--always-make选项,该选项将无条件地创建目标,而不管其依赖项的修改如何。

0

如果使用cp复制文件选项-a --archive -p --preserve将保留时间戳。那不是你想要的!

添加选项--no-preserve=timestamps

cp [options] --no-preserve=timestamps .....