【填坑】Android 配置CMake链接动态库出现 missing and no known rule to make it

      一、主要是指没有找到动态链接库,

            1)相对路径:问题是出在CMakeLists.txt中,按理讲CMakeLists.txt中配置的路径都是默认相对于CMakeLists.txt,但是在路径前还是要添加CMakeLists.txt的相对位置标识符${CMAKE_CURRENT_SOURCE_DIR}。亲测在AS3.4.3版本中必须添加${CMAKE_CURRENT_SOURCE_DIR}否则会报错。错误提示关于Debug编译时找不到路径。

            2)编译平台:由于有不同的平台所以在相对平台的文件夹位置填写${ANDROID_ABI}占位符。

      具体内容如下:

#添加一个库文件
#参数一:是库名主要用于System.loadLibrary()中填写的名字
#参数二:SHARED 表示动态链接库
#参数三:如果是
add_library(LibeName SHARED IMPORTED)

#指库添加动态链接库的库文件
#参数一:对应添加库的库名
#参数二:PROPERTIES表示导入
#参数三:IMPORTED_LOCATION 表示导入本地库
#参数四:库文件地址【出问题的就在这里】
set_target_properties(
        LibeName
        PROPERTIES
        IMPORTED_LOCATION
        ${CMAKE_CURRENT_SOURCE_DIR}/libs/${ANDROID_ABI}/libhpsocket.so
)

 

你可能感兴趣的:(Android)