簡體   English   中英

在 OpenCV android 應用程序中啟用“libc++_shared.so”

[英]enabling "libc++_shared.so" to be enabled in the OpenCV android application

我想用 OpenCV 實現一個項目。 我在項目中導入了 OpenCV SDK,出現如下錯誤:-

java.lang.UnsatisfiedLinkError: dlopen failed: library "libc++_shared.so" not found

我已在 stackoverflow 中閱讀了您的解決方案。 鏈接如下:-

Android Studio CMake - 共享庫缺少 libc++_shared.so? CMake 可以捆綁這個嗎?

我試圖從 github 實現一個解決方案:-

https://github.com/jomof/ndk-stl/blob/master/ndk-stl-config.cmake

我找不到任何解決方案。

我只想將“libc++_shared.so”打包到 apk 中,並且 SDK 在我的項目中正常運行。 我對構建工具 cmake 或 ndk-build 一無所知。

請給出一個簡單的解決方案,以便我可以在應用程序中啟用“libc++_shared.so”,以便 OpenCV 項目正常運行。

我的錯誤日志如下所示。

在此處輸入圖片說明

我的項目結構如下:-

在此處輸入圖片說明

早些時候我添加了 OpenCV SDK 中提到的 CMakeLists.txt 作為

cmake_minimum_required(VERSION 3.6)

 # dummy target to bring libc++_shared.so into packages
 add_library(opencv_jni_shared STATIC dummy.cpp)

以及可能在 apk 中包含“libc++_shared.so”的 dummmy.cpp 文件。 然而沒有結果。

請幫助解決。

嘗試將以下行添加到 app 部分的 build.gradle 文件中。

參數“-DANDROID_STL=c++_shared”

它必須添加到 externalNativeBuild 子部分。

android {
    .
    .
    defaultConfig {
        .
        externalNativeBuild {
            cmake {
                .
                arguments "-DANDROID_STL=c++_shared"
            }
        }
    }
}

順便說一句: Ranjit Vamadevan ,我在這里沒有看到您的解決方案,但您提到您直接在評論中找到了一個。 我不能回答那里。 你也可以和我們分享一下嗎?

這為我解決了:把 C:\\Users%username%\\AppData\\Local\\Android\\sdk\\ndk-bundle\\sources\\cxx-stl\\llvm-libc++\\libs%platform%\\libc++_shared 的內容jniLibs 文件夾中的 .so 文件。

在這里找到: https : //github.com/bkaradzic/bgfx/issues/1122#issuecomment-296356682

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM