如何使用CMakeLists.txt链接预构建的.so文件

时间:2016-11-23 22:49:34

标签: c++ cmake

我正在尝试使用cmake和android studio来编译c ++代码,我有一个.so库需要与目标链接。

我是cmake的新手,这就是我所拥有的:

add_library(
    my_target
    SHARED
    ${SRCS}
)

find_library(
    SSL
    apex_fips_libs/libccmssl.so
)

target_link_libraries(
    my_target
    ${SSL}
)

文件夹结构:

-- Src
   -- some.cpp
   -- some2.cpp
   -- CMakeLists.txt
   -- apex_fips_libs
       --libccmssl.so

但我收到以下错误:

CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
  SSL

我了解SSL未设置为find_library找不到.so,但为什么?

我甚至尝试过使用绝对路径。有人能指出我这样做的正确方法吗?

谢谢。

1 个答案:

答案 0 :(得分:1)

如果您确保已经建立了那个库,那么也许这是最简单的解决方案

find_library(SSL NAMES ccmssl PATHS ${CMAKE_SOURCE_DIR}/apex_fips_libs)
target_link_libraries(my_target ${SSL})

否则你可能想尝试更像

的东西
{{1}}