有时候我工作的代码移动电脑时钟前进。在这种情况下一些。cpp。h文件得到他们的最新修改日期定未来时间。

后来当我的钟是固定的,和我我的消息来源汇编、系统重建的大多数项目,因为一些最新修改日期都未来。每个后续的重新编译具有同样的问题。

解决方案,我知道是:

a)找到文件,有的未来时间并重新保存它。这种方法并不理想,因为项目是非常大的,它需要时间,甚至适用于windows先进的搜索,以查找文件,改变。

b)删除整个项目和重新检查出它从svn.

任何人都不会知道我如何能解决这个问题?

有没有也许是一个设置在visual studio,将允许我告诉编译器使用的归档位,而不是最后一次修改日期,以检测到的源文件的变化?

或者也许有一个递修改日期重置的工具,可以用在这种情况?

有帮助吗?

解决方案

如果这是我的问题,我愿意寻找方法,以避免碴与该系统的时间。隔离码下单元的测试,或虚拟的机器,或者东西。

然而,因为我爱 PowerShell:

Get-ChildItem -r . | 
    ? { $_.LastWriteTime -gt ([DateTime]::Now) } | 
    Set-ItemProperty -Name "LastWriteTime" -Value ([DateTime]::Now)

其他提示

我建议使用虚拟机在哪里你可以乱的时钟到你的心内容,它不会影响你的发展机。两个自由人 虚拟的电脑 从微软和 在开始 从太阳。

我不知道如果这在你的情况怎么样你不要移动你的钟前进,但是总结你的gettime方法(或无论你使用),并使其返回的未来时,你需要什么?

安装 Unix工具

touch temp
find . -newer temp -exec touch {} ;
rm temp

确保使用的完整的路径时,调查或它可能会使用Windows find.exe 代替。这是未经测试的在窗外壳-你可能需要修改该法的一位。

我不使用windows-但肯定有什么样的awk或查询,可以用来发现的"未来"的时间戳文件,然后"接触"他们,使他们有权时即使一个perl脚本。

1)使用一个建立系统,不使用时间戳到检测的修改,喜欢 scons

2)使用 ccache 为加速建立系统,并利用时间戳(和重建所有)。

在这两种情况下,它是用md5sum的验证文件已被修改,没有时间戳。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top