cmake -- build .与make的区别
时间: 2024-04-03 17:37:11 浏览: 32
`cmake --build .` 和 `make` 都是用于构建项目的工具,但是它们有一些区别。
`cmake --build .` 是 CMake 提供的一个命令,用于根据生成的构建系统(如 Makefile、Ninja 等)来构建项目。它可以自动检测当前目录下的构建系统,并执行相应的命令来进行编译、链接等操作。
而 `make` 是一个独立的工具,它通常与 GNU Autotools 配合使用,用于编译、链接和安装项目。它可以根据 Makefile 中的指令来执行相应的操作,如编译源代码、生成目标文件、链接可执行文件等。
总的来说,`cmake --build .` 更加灵活和跨平台,因为它可以自动检测当前目录下的构建系统,并执行相应的命令,而 `make` 则需要在每个平台上安装和配置,且只能使用 Makefile 构建项目。
相关问题
cmake --build . -- -j12
cmake --build . -- -j12命令的作用是使用CMake构建项目并指定并行编译的线程数为12[^1]。
具体步骤如下:
1. 首先,在命令行中进入到项目的build文件夹中,可以使用cd命令切换到该目录下。
2. 接着,使用cmake --build . -- -j12命令执行构建操作。其中,"."表示当前目录,"-j12"表示并行编译的线程数为12。
这个命令会自动调用适合的构建工具来编译项目,例如make或者ninja。通过指定并行编译的线程数,可以加快编译过程的速度。
需要注意的是,命令中的"--"是用来分隔cmake命令和构建工具命令的,确保构建工具能够正确解析后续的参数。
mkdir buildcd buildcmake -DCMAKE_TOOLCHAIN_FILE=../cmake/Toolchain-arm-linux-gnueabihf.cmake ..make
These commands create two directories: "buildcd" and "buildcmake", then run the CMake build system with the specified toolchain file which targets the ARM Linux platform. Finally, the "make" command is run to compile the project.
相关推荐
![gz](https://img-home.csdnimg.cn/images/20210720083447.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)