安卓工作室Wikitude示例错误

5

当我尝试运行Wikitude示例时,出现了这个错误。我该如何解决?

错误:错误:C:/Users/se/Desktop/wwww/Examples/SDKExamples/plugins/src/main/cpp/jni/../lib/x86/libippicv.a(jmp_icvippiMulC_32f_C1IR_as.s.o):针对可抢占符号icv_ippJumpIndexForMergedLibs的R_386_GOTOFF重定位不能在制作共享对象时使用

错误:链接器命令失败,退出代码为1(使用-v查看调用)


这是一个非常有趣的问题,这是否发生在未经修改的示例应用程序中?您使用的是哪个Android NDK版本? - Someone
1
发生在未修改的示例应用程序中。我从Wikitude网站获取SDK并直接启动示例。使用最新版本的NDK。 - Lucas
当我使用opencv和C++ NDK时,也会遇到这个错误。当我尝试构建项目或在模拟器上运行它时,它就会出现。但是,在使用物理设备(无论是“运行”还是“调试”)时,它不会发生。 - Marco
要保持NDK16而不降级,请查看我的答案这里 - abggcv
3个回答

7

我遇到了相同的错误,很抱歉不能添加评论因为声望不够。

错误:/Users/alex/Projects/Android/docsign/opencv/src/sdk/native/3rdparty/libs/x86/libippicv.a(jmp_icvippiTranspose_32s_C4IR_as.s.o):重定位R_386_GOTOFF针对可预取符号icv_ippJumpIndexForMergedLibs无法在制作共享对象时使用

这是最新的Android Studio和NDK,我正在使用OpenCV,

Android Studio 3.0.1 NDK 16.0.4442984

在我的其他机器上没有更新NDK时不会发生这种情况。

更新: 维护Android OpenCV的人建议我在CMake文件中添加以下行以避免使用新NDK进行编译时出现错误。

set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--exclude-libs,libippicv.a -Wl,--exclude-libs,libippiw.a")

https://github.com/opencv/opencv/issues/10229#issuecomment-370326899


0

我曾经遇到过完全相同的问题,但是我认为我已经找到了解决这个问题的方法。我认为问题出在较新版本的 NDK 上,因此您可以尝试重新安装它。

进入 SDK 管理器并导航到 外观和行为 / 系统设置 / Android SDK

在选项卡菜单中选择 SDK 工具并取消选择 NDK 复选框 -> 应用。卸载后 -> 标记 NDK 并再次应用。

此外,在安装 NDK 后,请删除项目中的 build 文件夹(只有其中包含 intermediates 文件夹的一个)。

当您点击 Debug 时,代码将运行,但是在 Make 项目时仍会出现错误。

这种解决方法对我起了作用,希望对您也有帮助。


0

Wikitude Android示例目前不能使用Android NDK 16进行构建。你需要将你的Android NDK降级到14版本。

或者,你可以从构建中删除插件功能。要做到这一点,请从settings.gradle文件中删除对':plugins'的引用,并在主build.gradle中删除对':plugins'的引用行。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接