Keep on going, never give up.

Linux下使用touch修改文件时间戳

Ubuntu下使用NDK编译时,总是提示make: warning: Clock skew detected. Your build may be incomplete.警告,经过查询是编译文件的修改时间超前了当前编译器读取的系统时间,文件是从Windows系统拷贝过来的,所以,直接在Linux下打开再保存一下就没有提示。不过即使不修改也一般是不影响编译结果的。

警告提示:

make: Warning: File `jni/Android.mk' has modification time 3.2e+04 s in the future

make: warning:  Clock skew detected.  Your build may be incomplete.

遇到这类问题,尤其是文件是从第三方拷贝过来的,比如修改时间是2050年,那么更新系统时间等措施都没效果的,要避免警告,只能把文件的修改时间修改掉。有两种方法:

一、可编译文件修改方法

对有限数量的文件警告提示(可以从警告信息中看出有哪些文件),如果是文档型可编辑的文件,比如.mk、.doc、.txt、.java、.c等等,只需要打开再保存一次即可。保存时间会自动更新为当前系统时间。

如果数量太多,甚至是包含子目录文件,那么就只能使用下面的方法。

二、使用touch命令

对有限数量的文件警告提示,只需打开重新保存一下即可,修改时间会自动更新,对其它非文本型文件,可以使用touch命令修改时间戳。

touch更改文件的修改时间:

touch -m -d "2014-07-3 08:10:30" myfilename.mk

touche更改文件的修改和访问时间:

touch -d "2014-07-3 08:10:30" myfilename.mk

如果需修改的文件很多,建议使用批处理或第三方工具进行。

相关评论(0):  

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

订阅博客

最新文章

本站采用创作共用版权协议, 要求署名、非商业用途和保持一致. 转载也必须遵循“署名-非商业用途-保持一致”的创作共用协议. 返回顶部
Copyright@2005-2016 Metsky.com, All rights Reserved.