是的,你需要将libuvoice_ecnr_sdk.so动态库链接到log库。在CMakeLists.txt文件中,你可以使用target_link_libraries命令将log库链接到你的目标库。具体操作如下:

  1. 在CMakeLists.txt文件中找到add_library命令,该命令用于创建你的目标库。例如:
add_library(uvoice_ecnr_sdk SHARED ${SRC_FILES})
  1. 在add_library和target_link_libraries之间添加以下代码,将log库链接到你的目标库:
find_library(log-lib log)
target_link_libraries(uvoice_ecnr_sdk ${log-lib})
  1. 最后,重新编译你的项目并运行。这样,你的目标库将会链接到log库,解决了无法定位符号“__android_log_print”的问题。

注意:在CMakeLists.txt文件中,你还需要根据你的项目结构和库文件位置进行适当的调整。

jni开发: 我拿到了一个h头文件和so动态库当我用SystemloadLibrary加载这个动态库时报错说:javalangUnsatisfiedLinkError dlopen failed cannot locate symbol __android_log_print referenced by libuvoice_ecnr_sdkso 我是不是应该给libuvoice_ecnr_sdk

原文地址: https://www.cveoy.top/t/topic/iGCy 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录