target_link_libraries()用法
时间: 2023-10-24 13:32:48 浏览: 83
target_link_libraries() 是在 CMake 中用于指定一个目标(target)与其依赖项之间的链接关系的函数。
它的基本语法是:
```
target_link_libraries(target_name [PRIVATE|PUBLIC|INTERFACE] library_name1 library_name2 ...)
```
- `target_name`:表示目标的名称,可以是可执行文件、静态库或动态库等。
- `[PRIVATE|PUBLIC|INTERFACE]`:表示链接关系的可选修饰符,用于指定依赖关系的可见性。
- `PRIVATE`:目标自身可见,不会传递给其依赖项。
- `PUBLIC`:目标自身可见,并传递给其依赖项。
- `INTERFACE`:目标自身不可见,只传递给其依赖项。
- `library_name1 library_name2 ...`:表示要链接的库的名称,可以是第三方库、系统库或其他目标。
使用 target_link_libraries() 函数,可以将目标与所需的库进行链接。这些库可以是静态库(.a)或动态库(.so/.dll/.dylib),也可以是其他已定义的目标。
例如,下面的代码片段演示了如何将名为 my_target 的可执行文件与两个库 lib1 和 lib2 进行链接:
```cmake
add_executable(my_target main.cpp)
target_link_libraries(my_target PRIVATE lib1 lib2)
```
这样,CMake 将会自动解析库的位置并将其链接到目标中。
希望这能帮到你!如果你有其他问题,请随时提问。
阅读全文