target_link_libraries()

target_link_libraries() 是 CMake 中的一个命令,用于指定目标(如可执行文件或库)所依赖的其他库。其主要作用包括:

  1. 链接库:将指定的库链接到目标上,使目标能够调用这些库中的函数和使用其功能。

  2. 管理依赖关系:自动处理库之间的依赖关系,确保在构建时按照正确的顺序链接库。

  3. 设置链接类型:可以指定链接的方式,如 PUBLIC、PRIVATE 和 INTERFACE,控制哪些依赖项对其他目标可见。

    • PUBLIC:目标和依赖库都可见。
    • PRIVATE:只有目标可见,依赖库对其他目标不可见。
    • INTERFACE:依赖库对其他目标可见,但目标本身不链接这些库。

示例

cmake 复制代码
add_library(mylib STATIC src/mylib.cpp)

add_executable(myapp src/main.cpp)

# 链接 mylib 到 myapp
target_link_libraries(myapp PRIVATE mylib)

在这个例子中,myapp 可执行文件链接了 mylib 库,且仅在 myapp 内部可见。这样,myapp 在编译时能够调用 mylib 中的功能。

相关推荐
培培说证14 分钟前
2026大专Java开发工程师,考什么证加分?
java·开发语言·python
qq_3363139315 分钟前
java基础-方法引用
java·开发语言·算法
总是学不会.18 分钟前
【JUC编程】一、线程的基础概念
java·开发语言·jvm
我是唐青枫22 分钟前
C#.NET struct 全解析:什么时候该用值类型?
开发语言·c#·.net
沉下去,苦磨练!31 分钟前
计算一个字符串在另一个字符串中出现次数
java·开发语言
froginwe1133 分钟前
Bootstrap5 表格
开发语言
前端不太难40 分钟前
Navigation State 驱动的页面调试方法论
开发语言·前端·react.js
饕餮怪程序猿42 分钟前
订单分批算法设计与实现:基于商品相似性的智能分拣优化(C++)
开发语言·c++·算法
崇山峻岭之间1 小时前
Matlab学习记录05
开发语言·学习·matlab
狗狗摇屁屁1 小时前
JS手写防抖
开发语言·javascript·ecmascript