Android Studio 维基百科示例错误

Android Studio Wikitiude Samples Error

我在尝试 运行 Wikitude 示例时出现此错误。我该如何解决这个问题。

Error:error: C:/Users/se/Desktop/wwww/Examples/SDKExamples/plugins/src/main/cpp/jni/../lib/x86/libippicv.a(jmp_icvippiMulC_32f_C1IR_as.s.o): relocation R_386_GOTOFF against preemptible symbol icv_ippJumpIndexForMergedLibs cannot be used when making a shared object

Error:error: linker command failed with exit code 1 (use -v to see invocation)

我有同样的错误,抱歉,没有足够的声誉,无法添加评论。

错误:错误:/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 不能在创建共享对象时使用

这是最新的AndroidStudio和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

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

转到 SDK 管理器并导航到 Appearance & Behavior/System Settings/Android SDK

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

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

当您 Make 项目时,您的错误仍然会发生,但是当您点击 Debug 时,您的代码将 运行。

这个变通办法对我有用,所以我希望这对你也有用。

wikitude Android 示例目前不会使用 Android NDK 16 构建。您需要将 Android NDK 降级到 14。

或者,您可以只从构建中删除插件功能。为此,请从 settings.gradle 文件中删除 ':plugins' 的包含,并在主 [=21] 中删除引用 ':plugins' 的行=].