Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/156.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在调用cmake之前删除build文件夹中的所有内容是否合理? 我现在使用CMAGE编译和构建多个平台上的C++项目。每次调用cmake脚本时,都会删除building文件夹中的所有内容。例如,我使用以下shell命令来说明如何调用cmake: rm -rf build_folder mkdir build_folder cd build_folder cmake .._C++_Cmake - Fatal编程技术网

在调用cmake之前删除build文件夹中的所有内容是否合理? 我现在使用CMAGE编译和构建多个平台上的C++项目。每次调用cmake脚本时,都会删除building文件夹中的所有内容。例如,我使用以下shell命令来说明如何调用cmake: rm -rf build_folder mkdir build_folder cd build_folder cmake ..

在调用cmake之前删除build文件夹中的所有内容是否合理? 我现在使用CMAGE编译和构建多个平台上的C++项目。每次调用cmake脚本时,都会删除building文件夹中的所有内容。例如,我使用以下shell命令来说明如何调用cmake: rm -rf build_folder mkdir build_folder cd build_folder cmake ..,c++,cmake,C++,Cmake,通过这样做,我们可以确保项目生成的库或二进制文件在源代码方面得到更新。然而,这可能需要时间,因为每次camke都会调用编译器从头开始构建项目。原因在于,我们担心如果不删除building文件夹中的所有内容,cmake可能会保留以前生成的一些中间结果。因此,我的问题是:我们的担忧是否合理?如果只调用上一个建筑文件夹中的cmake..,而不删除文件夹中的任何内容,我们会有什么样的危险 使用构建系统的一个要点是不必每次都重建所有内容。正确的生成系统可以正确地跟踪哪些文件已更改,以及执行正确的最小重建所

通过这样做,我们可以确保项目生成的库或二进制文件在源代码方面得到更新。然而,这可能需要时间,因为每次camke都会调用编译器从头开始构建项目。原因在于,我们担心如果不删除building文件夹中的所有内容,cmake可能会保留以前生成的一些中间结果。因此,我的问题是:我们的担忧是否合理?如果只调用上一个建筑文件夹中的
cmake..
,而不删除文件夹中的任何内容,我们会有什么样的危险

使用构建系统的一个要点是不必每次都重建所有内容。正确的生成系统可以正确地跟踪哪些文件已更改,以及执行正确的最小重建所需的命令

如果这对你不起作用,你就把你的构建系统搞砸了


如果您担心为不同的平台进行构建,而构建系统没有认识到差异,那么这只是构建系统混乱的一种方式。具体来说,问题在于您正在同一目录中按顺序构建不同的变体。至少这是我从你的描述中得到的。那太愚蠢了,别这么做。为每个平台使用不同的构建文件夹,在每个文件夹中使用正确的配置调用一次cmake,然后将其保留。

使用构建系统的一个要点是不必每次都重建所有内容。正确的生成系统可以正确地跟踪哪些文件已更改,以及执行正确的最小重建所需的命令

如果这对你不起作用,你就把你的构建系统搞砸了


如果您担心为不同的平台进行构建,而构建系统没有认识到差异,那么这只是构建系统混乱的一种方式。具体来说,问题在于您正在同一目录中按顺序构建不同的变体。至少这是我从你的描述中得到的。那太愚蠢了,别这么做。为每个平台使用不同的构建文件夹,使用正确的配置在每个文件夹中调用cmake一次,然后将其保留。

我认为,对于制作构建,这不会有什么坏处,可能应该事先清理构建文件夹。这不应该影响编译时间,因为您将从头开始进行生产构建。@sjdowling True,对于发布打包,您通常希望强制执行干净的构建。我认为,对于生产构建,这不会影响编译时间,可能应该事先清理构建文件夹。这不应该影响编译时间,因为您将从头开始进行生产构建。@sjdowling True,对于发布打包,您通常希望强制执行干净的构建。