请详细说明cmake中的add_library()的作用是什么,原型是什么以及怎么使用?
时间: 2024-03-16 19:45:02 浏览: 71
add_library()函数是CMake构建系统中用来添加一个新的库文件的函数。它的原型如下:
```cmake
add_library(<name> [STATIC | SHARED | MODULE] [EXCLUDE_FROM_ALL]
<source> [<source>...] [<option>...])
```
其中,`<name>`参数指定要创建的库文件的名称;`<source>`参数指定要编译的源文件列表。可以使用相对或绝对路径来指定源文件。`STATIC`、`SHARED`和`MODULE`是可选参数,用于指定库的类型。默认情况下,库的类型是`STATIC`,表示静态库。
使用`add_library()`函数创建库文件的步骤如下:
1. 在CMakeLists.txt文件中使用`add_library()`函数来添加库文件;
2. 指定库文件的名称和编译的源文件列表;
3. 可选地指定库的类型;
4. 可选地指定其他编译选项。
例如,下面的代码将创建一个名为mylib的静态库文件,并编译源文件foo.cpp和bar.cpp:
```cmake
add_library(mylib STATIC foo.cpp bar.cpp)
```
这样,在其他CMakeLists.txt文件中,就可以使用`target_link_libraries()`函数来链接这个库文件,例如:
```cmake
add_executable(myexe main.cpp)
target_link_libraries(myexe mylib)
```
这样,myexe就可以使用mylib中定义的函数和变量了。
阅读全文