为什么自己要添加始终?感觉很奇怪?
加载第三方库对于一个程序是很经常碰到的事情。
首先,自己应该很清楚第三方库的位置哈。将库添加到工程中。
#注意:动态库简写,全称均可;静态库要全称。
TARGET_LINK_LIBRARIES(main hello)
#TARGET_LINK_LIBRARIES(main libhello.a)
此时,编译报错/usr/bin/ld: cannot find -lxxx
使用cmake提供的LINK_DIRECTORIES指定第三方库路径。
LINK_DIRECTORIES(/usr/lib/hello)
编译,再次报错/usr/bin/ld: cannot find -lxxx?
通过分析官方文档,发现这个问题其实是代码的顺序问题,务必LINK_DIRECTORIES 要放在ADD_EXECUTABLE() or ADD_LIBRARY()前面。
官方文档:
https://cmake.org/cmake/help/v3.5/command/link_libraries.html