繁体   English   中英

如何使用cmake在android studio中添加外部库?

[英]How to add external library in android studio with cmake?

我正在尝试使用cMake将live555.so和.h文件与一个Android项目链接。 如果我不使用绝对路径,则会出现错误。

我的cMake文件:

cmake_minimum_required(VERSION 3.4.1)

include_directories( ${PROJECT_SOURCE_DIR}/src/main/jniLibs/live555/include )

add_library( live555 SHARED IMPORTED )

set_target_properties( live555 PROPERTIES IMPORTED_LOCATION ${PROJECT_SOURCE_DIR}/src/main/jniLibs/live555/lib/${ANDROID_ABI}/live555.so)

add_library( # Sets the name of the library.
         native-lib

         # Sets the library as a shared library.
         SHARED

         # Provides a relative path to your source file(s).
         src/main/cpp/native-lib.cpp )

find_library( # Sets the name of the path variable.
          log-lib

          # Specifies the name of the NDK library that
          # you want CMake to locate.
          log )

target_link_libraries( # Specifies the target library.
                   native-lib
                   android
                   live555
                   ${log-lib} )

错误

错误:错误:“ ../../../。”所需的“ ../../../../src/main/jniLibs/live555/lib/armeabi-v7a/live555.so”。 /build/intermediates/cmake/debug/obj/armeabi-v7a/libnative-lib.so',缺少且尚无已知规则

${PROJECT_SOURCE_DIR}是主CMakeList.txt文件所在的目录。 通常是app / src / main / cpp 您现在可以算出正确的相对路径。

这意味着您可以简单地编写

include_directories( ${PROJECT_SOURCE_DIR}/../jniLibs/live555/include )

add_library( live555 SHARED IMPORTED )

set_target_properties( live555 PROPERTIES IMPORTED_LOCATION ${PROJECT_SOURCE_DIR}/../jniLibs/live555/lib/${ANDROID_ABI}/live555.so)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM