查看: 2002|回复: 3

“make: 警告:检测到时钟错误。您的创建可能是不完整的”...

[复制链接]

665

主题

1234

帖子

6683

积分

xdtech

Rank: 5Rank: 5

积分
6683
发表于 2019-5-10 09:56:30 | 显示全部楼层 |阅读模式
现象:
    工程每次make后,都会出现"make: 警告:检测到时钟错误。您的创建可能是不完整的"的警告,在网上查了一下,原因是有文件的时间比当前时间还要晚(比如现在系统时钟时间是2013年1月24日 12:00:00, make所依赖的文件中存在文件的时间比这个时间还晚,比如是2014年2月21日 12:05:00),可以用"touch *"来更新文件时间,进而解决这个问题.
    尝试了一下touch这个方法,touch完第一次没有报这个警告,之后又有这个警告了.根据make的处理方法,发现即使文件没变动也会编译某一个cpp文件,在顺着警告信息往上找,发现有这么一条警告:
"make: Warning: File `shttpd/include/shttpd.h' has modification time 3e+07 s in the future"
因此断定比系统时间还要晚的文件就是这个shttpd.h

对症下药:
    touch /shttpd/include/shttpd.h
再重新make,没有再出现这个问题.


至于为什么会出现这个问题,有可能是我之前系统时间很快,我上传这些工程文件后,发现系统时间太快了,于是将时钟调回到正常的时间,但是之前上传的文件时间还是之前快了的时间,因此导致这个问题的产生.
我把系统时间故意改回到两年前,果然这个问题又出现了:
---------------------


回复

使用道具 举报

166

主题

616

帖子

1万

积分

xdtech

Rank: 5Rank: 5

积分
11704
发表于 2019-5-11 14:32:51 | 显示全部楼层
时间设置的问题
回复

使用道具 举报

166

主题

616

帖子

1万

积分

xdtech

Rank: 5Rank: 5

积分
11704
发表于 2019-5-11 14:32:59 | 显示全部楼层
时区可能会有很大影响
回复

使用道具 举报

166

主题

616

帖子

1万

积分

xdtech

Rank: 5Rank: 5

积分
11704
发表于 2019-5-11 14:33:09 | 显示全部楼层
不常见的问题,遇到了,棘手
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表