CMakeLIsts.txt与Makefile的区别

2023-05-16

       CMake是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程)。他能够输出各种各样的makefile或者project文件,能测试编译器所支持的C++特性,类似UNIX下的automake。

CMake 使用方法

CMake的所有的语句都写在一个叫:CMakeLists.txt 的文件中。当CMakeLists.txt文件确定后,可以用cmake命令对相关 的变量值进行配置。这个命令必须指向CMakeLists.txt所在的目录。配置完成之后,应用cmake命令生成相应的makefile(在Unix like系统下)或者 project文件(指定用window下的相应编程工具编译时)。



区别:

      CMake是一个跨平台的软件,在很多平台可以使用。一般在windows下,我们会直接使用VS生成项目,在Linux下面,我们也可以使用QT Creater生成项目,但是两个不同平台上面的项目不能相互移植。这就有了CMake的用武之地,我们可以先编写一个CMakeLists.txt文件,将需要的.h和.cpp文件包含进来,然后在不同的平台使用CMake调用各自的编译器生成各自的工程。

        

      Makefilelinux下面的文件,对于一个包含很多文件的工程,如果直接编译,那么我们就需要使用一些命令将所有的文件都包括进来。如果我们对其中的一些文件稍做修改,那么我们需要重新输入这些命令。Makefile文件就可以很好的解决这个问题,它将所需要的命令都包含在这个Makefile文件中,然后简单的make一下就完成了所有的步骤。


使用:

$  mkdir build

$ cd build

$ cmake ..  // .. 表示CMakeLists.txt文件在build的上一层目录, cmake 生成makefile文件(用cmake命令对相关 的变量值进行配置

$ make    //编译、链接、生成可执行文件等



本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

CMakeLIsts.txt与Makefile的区别 的相关文章

随机推荐