使用CMAKE链接外部的动态库时找不到库文件解决办法(/usr/bin/ld: cannot find lxxx)

来源:互联网 发布:头戴游戏耳机推荐 知乎 编辑:程序博客网 时间:2024/05/21 12:43

如果你有外部已经生成的动态库文件 libtest.so,在使用CMake编译生成目标文件myproject时需要依赖该so库文件,假设文件存于{MY_PROJECT_DIR}/bin目录下,要链接成功, 需要做的是:

在CMakeLists.txt文件中加入两行

1: LINK_LIBRARIES(${MY_PROJECT_DIR}/bin) #该命令的作用相当与gcc命令的-L参数的作用


2:ADD_EXECUTABLE(myproject  ${MY_PROJECT_SOURCES}) # ${MY_PROJECT_SOURCES}为myproject依赖的源文件目录


3:TARGET_LINK_LIBRARIES(myproject   test)


另外,请确保LINK_LIBRARIES命令写在ADD_EXECUTABLE之前。