C++ CGAL-制造时时钟的摆幅?

C++ CGAL-制造时时钟的摆幅?,c++,c++11,cmake,makefile,cgal,C++,C++11,Cmake,Makefile,Cgal,我已经厌倦了手动执行一个又一个命令来编译一个使用CGAL的C++11程序 所以我想我应该创建一个小的.sh文件来为我处理它: #!/bin/bash cgal_create_cmake_script && cmake . && echo "set(CMAKE_CXX_FLAGS \"${CMAKE_CXX_FLAGS} -std=c++11\")" >> CMakeList.txt && make 我对bash脚本了解不多,但这似乎

我已经厌倦了手动执行一个又一个命令来编译一个使用CGAL的C++11程序

所以我想我应该创建一个小的.sh文件来为我处理它:

#!/bin/bash

cgal_create_cmake_script &&
cmake . &&
echo "set(CMAKE_CXX_FLAGS \"${CMAKE_CXX_FLAGS} -std=c++11\")" >> CMakeList.txt &&
make
我对bash脚本了解不多,但这似乎已经足够好了。然而,我经常收到这样的警告

make:警告:文件“Makefile”将来的修改时间为2.4秒

make[1]:警告:文件“CMakeFiles/Makefile2”的修改时间为2.4秒

make[2]:警告:文件“CMakeFiles/my_dir.dir/progress.make”的修改时间为2.4秒


现在,尽管我非常想要一台能够预测未来的计算机,但我对此并不满意。我做错了什么?

您的
Makefile
是在远程文件系统上创建的,因此使用服务器的时钟记录时间戳,该时钟看起来很快(或者您的机器的时钟很慢)<但是,code>make正在本地计算机上运行,因此当它看到您的
Makefile
时,它似乎是在将来创建的

正确的做法是修理任何一个挂钟。(理想情况下,两台机器都应该使用类似NTP的东西与标准时钟同步。)

一个快速的方法是在列表中添加
sleep
命令

cgal_create_cmake_script &&
cmake . &&
echo "set(CMAKE_CXX_FLAGS \"${CMAKE_CXX_FLAGS} -std=c++11\")" >> CMakeList.txt &&
sleep 3 &&
make

这样您的本地时钟就可以“赶上”并使远程文件看起来像是在过去而不是将来创建的。

您的
Makefile
是在远程文件系统上创建的,因此时间戳是使用服务器的时钟记录的,该时钟看起来很快(或者您的机器的时钟很慢)<但是,code>make正在本地计算机上运行,因此当它看到您的
Makefile
时,它似乎是在将来创建的

正确的做法是修理任何一个挂钟。(理想情况下,两台机器都应该使用类似NTP的东西与标准时钟同步。)

一个快速的方法是在列表中添加
sleep
命令

cgal_create_cmake_script &&
cmake . &&
echo "set(CMAKE_CXX_FLAGS \"${CMAKE_CXX_FLAGS} -std=c++11\")" >> CMakeList.txt &&
sleep 3 &&
make

这样您的本地时钟就可以“赶上”并使远程文件看起来像是在过去而不是将来创建的。

您的
Makefile
是在远程文件系统上创建的,因此时间戳是使用服务器的时钟记录的,该时钟看起来很快(或者您的机器的时钟很慢)<但是,code>make正在本地计算机上运行,因此当它看到您的
Makefile
时,它似乎是在将来创建的

正确的做法是修理任何一个挂钟。(理想情况下,两台机器都应该使用类似NTP的东西与标准时钟同步。)

一个快速的方法是在列表中添加
sleep
命令

cgal_create_cmake_script &&
cmake . &&
echo "set(CMAKE_CXX_FLAGS \"${CMAKE_CXX_FLAGS} -std=c++11\")" >> CMakeList.txt &&
sleep 3 &&
make

这样您的本地时钟就可以“赶上”并使远程文件看起来像是在过去而不是将来创建的。

您的
Makefile
是在远程文件系统上创建的,因此时间戳是使用服务器的时钟记录的,该时钟看起来很快(或者您的机器的时钟很慢)<但是,code>make正在本地计算机上运行,因此当它看到您的
Makefile
时,它似乎是在将来创建的

正确的做法是修理任何一个挂钟。(理想情况下,两台机器都应该使用类似NTP的东西与标准时钟同步。)

一个快速的方法是在列表中添加
sleep
命令

cgal_create_cmake_script &&
cmake . &&
echo "set(CMAKE_CXX_FLAGS \"${CMAKE_CXX_FLAGS} -std=c++11\")" >> CMakeList.txt &&
sleep 3 &&
make

这样,您的本地时钟就可以“赶上”,使远程文件看起来像是在过去而不是将来创建的。

听起来您使用的是远程文件系统(NFS?),而本地计算机和服务器上的时钟不同步。要么修复时钟,要么在调用
make
之前添加
sleep 3
,让您的机器有机会“赶上进度”。@chepner:事实上,这似乎就是问题所在。您想详细说明,以便我可以接受它作为答案吗?因为我只想添加引用的方式太多了。听起来您使用的是远程文件系统(NFS?),并且本地计算机和服务器上的时钟不同步。要么修复时钟,要么在调用
make
之前添加
sleep 3
,让您的机器有机会“赶上进度”。@chepner:事实上,这似乎就是问题所在。您想详细说明,以便我可以接受它作为答案吗?因为我只想添加引用的方式太多了。听起来您使用的是远程文件系统(NFS?),并且本地计算机和服务器上的时钟不同步。要么修复时钟,要么在调用
make
之前添加
sleep 3
,让您的机器有机会“赶上进度”。@chepner:事实上,这似乎就是问题所在。您想详细说明,以便我可以接受它作为答案吗?因为我只想添加引用的方式太多了。听起来您使用的是远程文件系统(NFS?),并且本地计算机和服务器上的时钟不同步。要么修复时钟,要么在调用
make
之前添加
sleep 3
,让您的机器有机会“赶上进度”。@chepner:事实上,这似乎就是问题所在。你想详细说明一下,这样我就可以接受它作为一个答案了?因为有很多方法我只是想添加一个参考。