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'
的行=].
我在尝试 运行 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'
的行=].