cmake如何使用链接库?

发布于 2021-11-25 19:22:19 字数 36 浏览 949 评论 7

请问cmake在配置文件中使用动态链接库和静态链接库?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(7

滥情空心 2021-11-29 15:56:09

那静态链接呢?

疑心病 2021-11-29 15:51:58

回复
一样的,.so改成.a

顾挽 2021-11-29 15:47:21

回复
那LINK_LIBRARIES是做什么用的?另外有没有好的中文学习资料

冷默言语 2021-11-29 15:14:40

回复
TARGET_LINK_LIBRARIES 表示link库,中文文档都比较乱,可以去官网看看,最好找个使用cmake的实际项目看看,很简单的。

瑾兮 2021-11-29 14:12:49

回复
例如我的一些项目:https://git.oschina.net/andyspider,C++的基本上都是用的cmake。

如此安好 2021-11-29 02:09:53

如果想灵活一点,不把库的路径写死,那就类似这样(libeg.so):

FIND_PACKAGE(eg REQUIRED)
IF (EG_FOUND)
    INCLUDE_DIRECTORIES(${EG_INCLUDE_DIRS})
    SET(DEPLIBS ${DEPLIBS} ${EG_LIBRARIES})
ENDIF ()

# 下面可以有好多个FIND_PACKAGE(...)

ADD_EXECUTABLE(a.out ./main.cpp)
TARGET_LINK_LIBRARIES(a.out ${DEPLIBS})

当然这是需要FindXXX.cmake文件支持的,cmake自带了一些(cmake --help-module-list),没有的话需要自己写。

归途 2021-11-26 02:49:02

ADD_EXECUTABLE(a.out ./main.cpp)

TARGET_LINK_LIBRARIES(a.out /usr/lib/libeg.so)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文