Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.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的情况下运行生成的makefile_Makefile_Cmake - Fatal编程技术网

在未安装CMake的情况下运行生成的makefile

在未安装CMake的情况下运行生成的makefile,makefile,cmake,Makefile,Cmake,我想在我们的大学HCP服务器上编译我的程序,我在笔记本电脑上创建了一个CMake项目,但服务器上没有安装CMake,我无法安装它(有限的存储) 如何在没有CMake的情况下在服务器上编译项目,而只使用make 我在笔记本电脑上运行了cmake命令,然后将源代码和生成的Makfile传输到服务器,但当我在服务器上执行make时,它抱怨cmake缺失: make: /usr/local/bin/cmake: Command not found make: *** [cmake_check_build

我想在我们的大学HCP服务器上编译我的程序,我在笔记本电脑上创建了一个CMake项目,但服务器上没有安装CMake,我无法安装它(有限的存储)

如何在没有CMake的情况下在服务器上编译项目,而只使用
make

我在笔记本电脑上运行了
cmake
命令,然后将源代码和生成的
Makfile
传输到服务器,但当我在服务器上执行
make
时,它抱怨
cmake
缺失:

make: /usr/local/bin/cmake: Command not found
make: *** [cmake_check_build_system] Error 127

是否可以生成一个仅能运行
make
且不需要安装CMake的Makefile?

这是不可能的,主要原因有两个:

  • 正如所指出的,生成的makefile将在构建期间再次尝试调用CMake
  • 除此之外,CMake生成的makefile不应该是可移植的。在一台计算机上生成的Makefile在复制到另一台计算机时可能会中断

请注意,CMake没有强制的外部依赖项,因此您应该能够从服务器上的源代码快速构建本地副本,并使用该副本来构建项目。如果出于任何不可行的原因,您不能使用CMake,并且必须依赖不同的方法进行构建,例如从头开始编写自己的临时生成文件。

这是不可能的,主要原因有两个:

  • 正如所指出的,生成的makefile将在构建期间再次尝试调用CMake
  • 除此之外,CMake生成的makefile不应该是可移植的。在一台计算机上生成的Makefile在复制到另一台计算机时可能会中断

请注意,CMake没有强制的外部依赖项,因此您应该能够从服务器上的源代码快速构建本地副本,并使用该副本来构建项目。如果出于任何原因不可行,您不能使用CMake,必须依赖不同的方法来构建,就像从头开始编写自己的临时生成文件。

CMake生成的生成文件取决于CMake本身。因此,您有足够的空间来构建项目,但没有足够的空间来安装
CMake
?如果无法安装CMake,为什么还要尝试使用它?只需编写一个Makefile,即使对于大型项目,它也能完美地完成这项工作。我不想再开始一场
CMake vs make
战争,但如果你不能安装CMake,你没有太多选择。@TimF冒昧猜测一下,OP可能想使用CMake作为自动工具的替代品(不需要“用户”拥有它们,make就足够了)。谢谢你,我认为生成的make文件可以在没有CMake的情况下使用,只需make即可!!所以我错了!CMake生成的makefile依赖于CMake本身。因此,您有足够的空间来构建项目,但不足以安装
CMake
?如果无法安装CMake,为什么还要尝试使用它?只需编写一个Makefile,即使对于大型项目,它也能完美地完成这项工作。我不想再开始一场
CMake vs make
战争,但如果你不能安装CMake,你没有太多选择。@TimF冒昧猜测一下,OP可能想使用CMake作为自动工具的替代品(不需要“用户”拥有它们,make就足够了)。谢谢你,我认为生成的make文件可以在没有CMake的情况下使用,只需make即可!!所以我错了!