cmake 中的add_executable()的作用是什么
时间: 2023-09-20 09:12:39 浏览: 60
在CMake中,`add_executable()`函数的主要作用是将源文件编译成可执行文件。该函数会将指定的源文件编译成一个可执行文件,并将其添加到CMake生成的构建系统中,使得我们可以使用构建工具(如make、ninja等)来构建和运行该可执行文件。
具体而言,`add_executable()`函数会将源文件编译成一个目标文件(通常是`.o`文件或`.obj`文件),然后将所有目标文件链接在一起,生成一个可执行文件。生成的可执行文件可以在命令行中运行,执行指定的程序逻辑。
举个例子,假设我们有一个名为`myapp`的C++程序,该程序由`main.cpp`和`utils.cpp`两个源文件组成。我们可以使用如下代码将这两个源文件编译成一个可执行文件:
```
add_executable(myapp main.cpp utils.cpp)
```
此时,CMake会将`main.cpp`和`utils.cpp`编译成两个目标文件,并将它们链接在一起,生成一个名为`myapp`的可执行文件。我们可以使用`make`或者`ninja`等构建工具来构建和运行该可执行文件,执行程序逻辑。
因此,`add_executable()`函数是CMake中非常重要的一个函数,它为我们编译和构建可执行文件提供了非常方便和灵活的方式。
相关问题
CMake中add_executable 和 add_library区别
在 CMake 中,`add_executable` 和 `add_library` 都是用来定义一个目标文件的方法,但它们的作用不同:
- `add_executable` 用于创建一个可执行文件,即生成一个 .out 文件,这个文件可以直接运行。
- `add_library` 用于创建一个库文件,即生成一个 .a 或 .so 文件,这个文件可以被其他程序链接使用。
另外,`add_library` 还可以定义 STATIC 和 SHARED 两种类型的库文件。STATIC 类型的库文件是静态链接库,链接时将库文件的代码完全复制一份到可执行文件中;SHARED 类型的库文件是动态链接库,链接时只将一个指向库文件的指针放入可执行文件中,运行时需要加载动态链接库并将其代码复制到内存中。
需要注意的是,在使用 `add_library` 定义一个库文件时,还需要通过 `target_link_libraries` 命令将该库文件连接到其他可执行文件或库文件中。
cmake add_executable是什么
cmake add_executable是一个CMake命令,用于将源代码文件编译成可执行文件。它的语法是add_executable(target_name source_files),其中target_name是生成的可执行文件的名称,source_files是源代码文件的列表。