首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用PreBuild .so文件的安卓系统中的DT_NEEDED无效

使用PreBuild .so文件的安卓系统中的DT_NEEDED无效
EN

Stack Overflow用户
提问于 2018-03-15 07:31:04
回答 2查看 290关注 0票数 0

我是NDK的新手,想从你那里得到一些帮助。我正在尝试运行此Project,但它使我一直显示错误Invalid DT_NEEDED entry "../../lib/lipopencv_core.so"。这可能是因为我正在使用其他人编译的.so文件,并将这些文件直接存储在jniLibs/armeabi-v7a文件夹中,然后使用System.loadLibrary("opencv_java");在java类中调用它

在阅读了这个问题(#177)之后,我发现这个文件必须使用-soname参数进行编译。

但是我该怎么做呢?需要为此制作一个Android.mk吗?或者是CmakeList.txt?

我已经安装了NDK,Cmake和LLDB。

Ty

EN

回答 2

Stack Overflow用户

发布于 2018-05-15 04:40:30

如果您正在使用ndk-build (Android.mk)或CMake (CMakeLists.txt),那么已经为您处理了soname标志。问题很可能是libopencv_core.so是在没有这个标志的情况下构建的。您需要使用-Wl,-soname,libopencv_core.so重新构建它。

票数 0
EN

Stack Overflow用户

发布于 2018-05-15 17:18:37

该项目使用由android-ndk-r8e.构建的OpenCV v2.4.5如果你的设备足够旧,你可以玩它。

但是,如果您打算发布基于此代码的应用程序,则必须使用最新的NDK工具链重新构建这些库(我强烈建议您也使用最新版本的OpenCV )。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49289230

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档