用外部库编译CMake

时间:2018-02-21 14:43:55

标签: c++ cmake

我尝试使用外部库编译我的代码,但每次尝试我都会遇到错误。这是我实际的cmake链接:

include(dependencies.cmake)
add_executable(${NAME} ${SOURCE_FILES})
target_link_libraries(${NAME} PUBLIC ${DEPENDENCIES})

这是我的dependencies.cmake:

set(LIB_PATH ${CMAKE_CURRENT_SOURCE_DIR}/lib)
find_library(MY_DEPENDENCIES NAMES myLib HINTS ${LIB_PATH} NO_DEFAULT_PATH)
set(DEPENDENCIES ${MY_DEPENDENCIES})

这是我的项目树:

Project
|----include
|----lib
|    |----libmyLib.so
|----release
|----src
|----CMakeLists.txt
|----dependencies.cmake

我有这个错误

make[4]: *** No rule to make target '../lib/libmyLib.so'

我确切地说:

  • 我使用CMake 3.9.3在Ubuntu上工作
  • 我在发布中使用了阴影构建来构建我的项目。
  • 我不想直接使用我的lib的源代码或将它安装在/ usr / lib中。

有人作为建议吗?

1 个答案:

答案 0 :(得分:2)

好的,所以我找到了导致错误的原因,我的外部lib是一个符号链接,而不是直接的.so,我解决了这个问题,现在它正常工作