admin 管理员组

文章数量: 1086019


2024年3月8日发(作者:terminatethread)

cmakelist 编译

CMake 是一个跨平台的项目构建管理工具,能够自动生成 Makefile、Visual Studio、Xcode 等项目文件,帮助开发者轻松实现代码的跨平台编译。CMake 的核心是 文件,开发者可以在这个文件中定义项目的构建规则。

要使用 CMake 来编译项目,需要遵循以下步骤:

1. 创建 文件,并定义项目的名称、所需的依赖库等信息。

2. 执行 cmake 命令生成 Makefile 文件。

3. 执行 make 命令编译项目。

下面我们以一个 C++ 程序为例来说明 CMake 如何进行编译:

假设我们要编译一个 C++ 的 Hello World 程序,文件结构如下:

```

Project

└───libs

├───lib1

│ ├───include

│ └───src

└───lib2

├───include

└───src

```

其中, 是程序的入口文件,libs 目录下是项目所需的两个库,每个库都有自己的头文件和源代码。

首先,在 Project 目录下创建一个 文件,内容如下:

```

cmake_minimum_required(VERSION 3.0)

project(Project)

add_executable(${PROJECT_NAME} )

add_subdirectory(libs/lib1)

add_subdirectory(libs/lib2)

```

这个文件的作用是定义了项目的名称和入口文件,并添加了项目所需的两个库的子目录。

然后,在 libs/lib1 目录下创建一个 文件,内容如下:

```

add_library(lib1 STATIC src/)

target_include_directories(lib1 PUBLIC include)

```

这个文件的作用是定义了库 lib1 的源文件和头文件的位置,并将头文件路径添加到了库的 include 路径中。

同样,在 libs/lib2 目录下创建一个 文件,内容如下:

```

add_library(lib2 STATIC src/)

target_include_directories(lib2 PUBLIC include)

target_link_libraries(lib2 lib1)

```

这个文件的作用是定义了库 lib2 的源文件和头文件的位置,将头文件路径添加到了库的 include 路径中,并指定了 lib2 依赖于 lib1。

最后,在 Project 目录下执行以下命令:

```

mkdir build

cd build

cmake ..

make

```

这个命令会在 build 目录下生成 Makefile 文件,并编译项目。编译完成后,可执行文件会生成在 build 目录下。

以上就是使用 CMake 进行项目编译的一般过程。CMake 支持多种语言,除了 C++,还支持 C、Python 等,因此在实际项目中,可以根据需要进行相应的配置和编译。


本文标签: 项目 文件 编译