cmake怎么生成exe

CMake是一个跨平台的构建系统,它协助开发者编译和链接源代码,然后生成可执行文件(exe),在不同的操作系统和编译环境中,CMake能简化构建过程。在本文中,我将详细介绍CMake是如何生成一个EXE文件的。

CMake的工作原理:

CMake使用CMakeLists.txt文件作为构建配置,该文件包含关于项目结构、依赖库、编译选项等的信息。当运行CMake时,它将根据CMakeLists.txt文件生成适用于目标平台的构建系统,例如Makefiles、Visual Studio解决方案等。接下来,你可以使用这些生成的构建系统来编译项目并创建可执行文件。

以下是使用CMake生成EXE文件的详细步骤:

1. 准备源代码:首先,你需要创建一个包含源代码文件的目录,例如一个简单的C++ "Hello World!" 程序。创建一个名为"main.cpp"的源代码文件,输入以下内容:

```

#include

int main() {

std::cout << "Hello, World!" << std::endl;

return 0;

}

```

2. 创建CMakeLists.txt文件:在源代码目录下,创建一个名为"CMakeLists.txt"的文件,输入以下内容:

```

cmake_minimum_required(VERSION 3.0)

project(HelloWorld)

set(CMAKE_CXX_STANDARD 11)

add_executable(HelloWorld main.cpp)

```

指令解释:

- cmake_minimum_required:指定CMake的最低版本要求;

- project:定义项目名称;

- set:设置编译选项,例如C++标准;

- add_executable:指定要生成的可执行文件名称和要编译的源文件。

3. 运行CMake:在源代码目录下,创建一个名为"build"的子目录。打开终端,进入"build"目录,运行以下命令生成构建系统:

```

cmake ..

```

在Windows上,这将生成一个Visual Studio解决方案。在Linux或macOS上,它将生成一个Makefile。

4. 编译项目:根据目标平台的构建系统,运行以下命令来编译项目:

- Windows:打开生成的Visual Studio解决方案,并选择"生成解决方案"或在命令行运行`msbuild HelloWorld.sln`;

- Linux 或 macOS:在终端中键入`make`。

5. 运行EXE文件:编译完成后,可执行文件 "HelloWorld.exe"(Windows) 或 "HelloWorld"(Linux/macOS) 将生成在 "build" 目录下。在终端中,运行这个可执行文件以查看 "Hello, World!" 的输出。

通过以上步骤,你已经了解了使用CMake生成可执行文件的原理和详细操作。CMake不仅可以处理简单示例,还能支持复杂项目和多个源文件、库的编译与链接。