天天看點

“make: 警告:檢測到時鐘錯誤。您的建立可能是不完整的”解決方法

    工程每次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,沒有再出現這個問題.

至于為什麼會出現這個問題,有可能是我之前系統時間很快,我上傳這些工程檔案後,發現系統時間太快了,于是将時鐘調回到正常的時間,但是之前上傳的檔案時間還是之前快了的時間,是以導緻這個問題的産生.

我把系統時間故意改回到兩年前,果然這個問題又出現了:

“make: 警告:檢測到時鐘錯誤。您的建立可能是不完整的”解決方法

繼續閱讀