"); //-->
为什么自己要添加始终?感觉很奇怪?
加载第三方库对于一个程序是很经常碰到的事情。
首先,自己应该很清楚第三方库的位置哈。将库添加到工程中。
#注意:动态库简写,全称均可;静态库要全称。
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
专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们
相关推荐
Windows系统安装CMake教程
CMake中的PRIVATE、PUBLIC与INTERFACE关键字
AT32L021vscode+cmake工程源文件
Cmake链接外部库:如何在项目中使用外部库和头文件
CMake中的CMAKEMAKEPROGRAM配置参数
Cmake 链接外部库:如何在项目中使用外部库和头文件
[学习笔记]CMAKEMAKEPROGRAMisnotset
vscode+cmake搭建雅特力AT32L021开发环境