执行cmake,生成makefile
时间: 2023-10-06 20:12:38 浏览: 49
好的,您需要在命令行中输入以下命令:
```
cd /path/to/source/folder
mkdir build
cd build
cmake ..
```
这将在源代码目录的上一级目录中创建一个名为“build”的文件夹,并使用CMake为该项目生成一个Makefile。现在可以运行make命令来构建项目。
相关问题
Cmake 怎么生成makefile
CMake 生成 Makefile 的过程分为两个步骤:
1. 编写 CMakeLists.txt 文件
CMakeLists.txt 文件是 CMake 的配置文件,用于描述工程的源文件、编译选项、链接选项等信息。你需要在 CMakeLists.txt 文件中定义工程名称、源文件、头文件路径、库文件路径等信息。
以下是一个简单的 CMakeLists.txt 文件示例:
```
cmake_minimum_required(VERSION 3.10)
project(MyProject)
set(CMAKE_CXX_STANDARD 11)
include_directories(include)
add_executable(MyProgram src/main.cpp src/func.cpp)
target_link_libraries(MyProgram m)
```
在这个 CMakeLists.txt 文件中,首先指定了 CMake 的最低版本要求。然后定义了工程名称为 MyProject,并设置了 C++ 标准为 C++11。接着指定了头文件路径为 include 目录。然后定义了 MyProgram 目标,该目标依赖于 src/main.cpp 和 src/func.cpp 两个源文件,用于生成可执行文件 MyProgram。最后指定了链接库为数学库 libm。
2. 生成 Makefile 文件
在编写好 CMakeLists.txt 文件后,你可以使用 cmake 命令来生成 Makefile 文件。在命令行中进入工程目录,执行以下命令:
```
cmake -S . -B build
```
其中,-S 参数指定了 CMakeLists.txt 文件所在的目录,-B 参数指定了构建目录。上述命令表示将 CMakeLists.txt 文件所在的当前目录作为源目录,将 build 目录作为构建目录。
执行完上述命令后,CMake 会生成 Makefile 文件并保存到 build 目录中。你可以进入 build 目录,执行 make 命令来编译工程。
```
cd build
make
```
这样,就可以使用 CMake 生成 Makefile 文件,并编译生成工程。
cmake和makefile区别
CMake 和 Makefile 都是用于自动化构建软件的工具。CMake是一个跨平台的构建工具,可以生成Makefile或其他本地构建系统所需的文件。Makefile是一个用于执行编译和构建任务的脚本,通常与GNU Make一起使用。
主要区别如下:
1. 语法不同:CMake使用CMake语言,Makefile使用Makefile语言。
2. 平台支持:CMake支持跨平台构建,Makefile则需要针对不同的操作系统和编译器进行设置。
3. 依赖管理:CMake可以自动管理源文件和库的依赖关系,而Makefile需要手动管理。
4. 可读性:CMake比Makefile更易于阅读和维护,因为它使用更简洁的语法和更直观的结构。
5. 执行效率:Makefile执行速度更快,因为它可以直接调用编译器进行编译,而CMake需要生成Makefile或其他构建系统所需的文件。
总的来说,CMake更适合大型项目和跨平台构建,而Makefile更适合小型项目和单一平台构建。