我通过 PuTTY 和 WinSCP 连接到我大学的小型 Linux 集群,使用后者传输文件并使用前者编译和运行它们。到目前为止,我的工作是在大学的实验室中完成的,但今天我一直在家里做一些工作,产生了一个有趣的警告。
我上传了整个文件夹,运行 make
命令后,我得到了输出的最后一行:
make: warning: Clock skew detected. Your build may be incomplete.
生成的二进制文件可以正常工作,并且在构建过程中似乎没有任何其他意外错误。
我似乎能够通过在上传一些新/替换文件后构建来触发错误(我在本地编辑所有内容然后上传新版本),所以我想知道它是否就像文件修改时间不匹配一样简单?或者更令人担忧的事情?
那么,我应该担心吗?我该如何解决/防止这种情况?
最佳答案
该消息通常表明您的某些文件的修改时间晚于当前系统时间。由于 make
通过检查源文件的修改时间是否比其目标文件的修改时间来决定在执行增量构建时要编译哪些文件,这种情况可能会导致构建不必要的文件,或者更糟的是,必要的文件不被 build 。
但是,如果您是从头开始构建(不进行增量构建),您可能会忽略此警告而不会产生任何后果。
关于linux - 在远程 Linux 机器上编译 C++ - "clock skew detected"警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3824500/