新闻  |   论坛  |   博客  |   在线研讨会
cmake之 第三方库始终报错 /usr/bin/ld: cannot find -lxxx?
电子禅石 | 2024-11-14 19:25:42    阅读:74   发布文章

为什么自己要添加始终?感觉很奇怪?

加载第三方库对于一个程序是很经常碰到的事情。

首先,自己应该很清楚第三方库的位置哈。将库添加到工程中。


#注意:动态库简写,全称均可;静态库要全称。

TARGET_LINK_LIBRARIES(main hello)

#TARGET_LINK_LIBRARIES(main libhello.a)

1

2

3

此时,编译报错/usr/bin/ld: cannot find -lxxx

使用cmake提供的LINK_DIRECTORIES指定第三方库路径。


LINK_DIRECTORIES(/usr/lib/hello)

1

编译,再次报错/usr/bin/ld: cannot find -lxxx?

通过分析官方文档,发现这个问题其实是代码的顺序问题,务必LINK_DIRECTORIES 要放在ADD_EXECUTABLE() or ADD_LIBRARY()前面。


官方文档:

https://cmake.org/cmake/help/v3.5/command/link_libraries.html


ok

————————————————


最终解决: 竟然是不用-l  不知道是不是和cmake 版本有问题。

target_link_libraries(cyber_demo -lcyber libcrypto.a libssl.a -lpthread)

                        

原文链接:https://blog.csdn.net/weixin_39956356/article/details/100412382


*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
属于自己的技术积累分享,成为嵌入式系统研发高手。
推荐文章
最近访客