"); //-->
为什么自己要添加始终?感觉很奇怪?
加载第三方库对于一个程序是很经常碰到的事情。
首先,自己应该很清楚第三方库的位置哈。将库添加到工程中。
#注意:动态库简写,全称均可;静态库要全称。
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
*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。