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 中的功能。

相关推荐
智商低情商凑3 小时前
Go学习之 - Goroutines和channels
开发语言·学习·golang
半桶水专家3 小时前
Go 语言时间处理(time 包)详解
开发语言·后端·golang
编程点滴3 小时前
Go 重试机制终极指南:基于 go-retry 打造可靠容错系统
开发语言·后端·golang
实心儿儿3 小时前
C++ —— 模板进阶
开发语言·c++
萧鼎3 小时前
Python PyTesseract OCR :从基础到项目实战
开发语言·python·ocr
二川bro4 小时前
第57节:Three.js企业级应用架构
开发语言·javascript·架构
sali-tec4 小时前
C# 基于halcon的视觉工作流-章62 点云采样
开发语言·图像处理·人工智能·算法·计算机视觉
这人很懒没留下什么5 小时前
SpringBoot2.7.4整合Oauth2
开发语言·lua
ZHOUZAIHUI5 小时前
WSL(Ubuntu24.04) 安装PostgreSQL
开发语言·后端·scala
欧阳x天6 小时前
C++入门(二)
开发语言·c++