今天在编译一个项目的时候,出现一个问题,如下图:
这里发现 uart.c 以及 gpio.c等文件在重新编译。根据make编译的原则,会比较文件,是否是最新的,如果是最新的,会对该文件进行编译。
由于这个文件都是从其他地方拷贝过来的,因此怀疑可能是时间引起,make在循环编译这几个文件,通过ls -al查看文件的创建时间。发现文件时间新过ubuntu当前的时间(当前编译环境时间没有修改,比正常时间晚几天)。这时候通过查找方法修改系统的时间。
想到的第一个方法就是,同步网络的时间。于是,开始google的历程,找到如下的方法:
1. 安装ntpdate工具
# sudo apt-get install ntpdate
2. 设置系统时间与网络时间同步
# ntpdate cn.pool.ntp.org
3. 将系统时间写入硬件时间# hwclock --systohc
通过修改,通过date命令查看,系统时间已经更新。
重新make。一下子感觉世界又美好了。
当然也可以手动修改系统时间:
查看系统时间的命令: #date
设置系统时间的命令: #date –set(月/日/年 时:分:秒)
例:#date –set “10/11/10 10:15”
查看硬件时间的命令: # hwclock
设置硬件时间的命令: # hwclock –set –date = (月/日/年 时:分:秒)
参考链接:http://www.2cto.com/os/201212/174953.html