解决“警告:检测到时钟错误。您的创建可能是不完整的”问题的一种办法

前几天在带本科生毕设的时候,让他们的电脑是新装的ubuntu mate系统以及新装的ros kinetic版本,在更改了cpp文件后编译的过程中出现了问题:“警告:检测到时钟错误。您的创建可能是不完整的。”之前我自己的电脑上是从来没有出现过这种情况的。于是求助度娘和google,找到以下解决办法:

1.使用touch命令

在编译时会看到和

make: Warning: File `shttpd/include/shttpd.h' has modification time 3e+07 s in the future

类似的警告,直接执行

touch  文件名

来修正文件时间,尝试过后确实有用,但是只适用于报错文件不多的情况下,报错文件一多工作量就太大了;而且有时还会出现找不到这个报错文件的情况。

看到还有一种更新整个项目时间的方法,运行:touch *

但是尝试过后好像并没有作用

2.使用find . -type f -exec touch {} \命令

一开始直接执行这个命令也并没有效果,后来把工作空间中的build、devel中的相关文件删除后重新编译,再运行find . -type f -exec touch {} \

该命令执行持续了几秒钟,然后再编译则没有出现错误。

中间由于是使用catkin_make编译整个工作空间太浪费时间,选择直接使用

catkin_make  -DCATKIN_WHITELIST_PACKAGES="save_data"

来单独编译save_data功能包

你可能感兴趣的:(解决“警告:检测到时钟错误。您的创建可能是不完整的”问题的一种办法)