小编典典

在远程 Linux 机器上编译 C++ - “检测到时钟偏差”警告

all

我通过 PuTTY 和 WinSCP 连接到我大学的小型 Linux
集群,使用后者传输文件并使用前者编译和运行它们。到目前为止,我的工作是在大学的实验室中进行的,但今天我一直在家里做一些工作,产生了一个有趣的警告。

我上传了整个文件夹,运行make命令后,我将其作为输出的最后一行:

制造:警告:检测到时钟偏差。您的构建可能不完整。

生成的二进制文件可以正常工作,并且在构建过程中似乎没有任何其他意外错误。

我似乎能够通过在上传一些新/替换文件后构建来触发错误(我在本地编辑所有内容然后上传新版本),所以我想知道它是否与文件修改时间不匹配一样简单?或者更关心的事情?

那么,我应该担心吗?我该如何解决/防止这种情况?


阅读 85

收藏
2022-07-28

共1个答案

小编典典

该消息通常表明您的某些文件的修改时间晚于当前系统时间。由于make在执行增量构建时通过检查源文件的修改时间是否比其目标文件的修改时间来决定要编译哪些文件,因此这种情况可能会导致构建不必要的文件,或者更糟的是,
无法 构建必要的文件。

但是,如果您是从头开始构建(不进行增量构建),您可能会忽略此警告而不会产生任何后果。

2022-07-28