2017-11-18 145 views
4

我嘗試運行Wikitude示例時出現此錯誤。我該如何解決這個問題。Android Studio Wikitiude示例錯誤

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)

+0

這是一個非常有趣的問題,這是否發生在未經修改的示例應用程序?您使用的是什麼Android NDK版本? – Alex

+1

它發生了未修改的示例應用程序。我從wikitude網頁獲取sdk並直接啓動示例。 NDK的最新版本 – Lucas

+0

當使用opencv和C++ NDK時,我也會遇到這個錯誤。當我嘗試構建項目或在模擬器上運行它時,它就會出現。使用物理設備('運行'和'調試')它不會發生。 – Marco

回答

0

我已經有完全相同的問題,但認爲我找到了解決這個問題的辦法。我認爲問題在於NDK的新版本,所以你可以嘗試重新安裝它。

轉到SDK管理器並導航到Appearance & Behavior/System Settings/Android SDK

在選項卡菜單中選擇SDK Tools並取消選擇NDK checkbox -> Apply。卸載後 - >標記NDK並再次應用。

此外,安裝NDK後,刪除項目中的build文件夾(只有intermediates文件夾在其中)。

當您的項目爲Make時,您的錯誤仍然會發生,但當您點擊Debug時,您的代碼將會運行。

該解決方法適用於我,所以我希望這也適用於您。

+1

不,沒有任何改變。創意電話雖然 – robertjuh

5

我有同樣的錯誤,抱歉無法添加評論,因爲沒有足夠的信譽。

錯誤:錯誤:/Users/alex/Projects/Android/docsign/opencv/src/sdk/native/3rdparty/libs/x86/libippicv.a(jmp_icvippiTranspose_32s_C4IR_as.so):針對搶佔符號icv_ippJumpIndexForMergedLibs搬遷R_386_GOTOFF不能創建共享目標

時使用這是最新的Android Studio和NDK,和我使用的OpenCV,

的Android 3.0.1工作室NDK 16.0.4442984

這並不在我的其他發生沒有更新NDK的機器。

更新: 維護OpenCV for android的人建議我將以下行添加到CMake文件中,以避免編譯新NDK時出現的錯誤。

集(CMAKE_SHARED_LINKER_FLAGS 「$ {} CMAKE_SHARED_LINKER_FLAGS輪候冊, - 排除,庫,libippicv.a輪候冊, - 排除,庫,libippiw.a」)

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

0

Android的樣品目前不會建立與Android NDK 16 wikitude你需要降級的Android NDK至14

或者你可以直接從構建刪除插件功能。爲此,請從settings.gradle文件中移除包含':plugins'的文件,並在的主文件夾中提及參考':plugins'的行。