日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【MAC】Ncnn 编译so文件方案

發布時間:2023/12/6 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【MAC】Ncnn 编译so文件方案 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

【MAC】Ncnn 編譯so文件方案

1、下載ncnn github地址是:https://github.com/Tencent/ncnn

指定目錄:在終端或者git管理工具 輸入:git clone https://github.com/Tencent/ncnn.git

2、編譯Ncnn

2.1 Mac平臺 安裝cmake、wget(根據實際編譯需要)

注:cmake終端安裝方式:brew search cmakebrew install cmakewget安裝方式如上過程。

2.2 進入 ncnn(cd ncnn)然后執行sudo ./build.sh

注:在mac下會出異常(其他平臺win或Linux未親測)也許有些環境可以直接運行,目前使用的是oh-my-zsh 終端環境接著修改build.sh執行文件把文件頭 #!/usr/bin/bash,修改為 #!/usr/bin/env bash然后再執行sudo ./build.sh如果出現 提示 export ANDROID_NDK=~/your/ndk/path配置自己的ndk路徑。安裝android studio的朋友可以直接打開AS然后在里面找到ndk路徑

如果沒有其他異常提示則運行成功 如下圖:

有build-android-armv7文件夾,里面包含了install/lib和include(稍后需要用到)

2.3 編譯so的的命令ndk-build

jni路徑見下圖

進入jni路徑下
然后在終端輸入:sudo ndk-build
正常情況下會有如下提示:

Android NDK: android-9 is unsupported. Using minimum supported version android-14. Android NDK: WARNING: APP_PLATFORM android-14 is higher than android:minSdkVersion 1 in /Users/lichong/Documents/android/github/ncnn/examples/squeezencnn/AndroidManifest.xml. NDK binaries will *not* be comptible with devices older than android-14. See https://android.googlesource.com/platform/ndk/+/master/docs/user/common_problems.md for more information. Android NDK: ERROR:/Users/lichong/Documents/android/github/ncnn/examples/squeezencnn/jni/Android.mk:ncnn: LOCAL_SRC_FILES points to a missing file Android NDK: Check that /home/nihui/dev/qqfacecnn/ncnn/build-android-armv7/install/lib/libncnn.a exists or that its path is correct /Users/lichong/Library/Android/sdk/ndk-bundle/build/core/prebuilt-library.mk:45: *** Android NDK: Aborting . Stop.重要的是“LOCAL_SRC_FILES points to a missing file” 根據提示路徑可以找到Android.mk文件:其中有“LOCAL_SRC_FILES := $(NCNN_INSTALL_PATH)/lib/libncnn.a” 再追述“NCNN_INSTALL_PATH=/home/nihui/dev/qqfacecnn/ncnn/build-android-armv7/install” 這個路徑看上去很眼熟。哈哈哈!因為這個就是工程的絕對路徑。修改ncnn前面的路徑“/home/nihui/dev/qqfacecnn/”為~</your/path>即可再次運行ndk-build 會有如下提示:Android NDK: android-9 is unsupported. Using minimum supported version android-14. Android NDK: WARNING: APP_PLATFORM android-14 is higher than android:minSdkVersion 1 in /Users/lichong/Documents/android/github/ncnn/examples/squeezencnn/AndroidManifest.xml. NDK binaries will *not* be comptible with devices older than android-14. See https://android.googlesource.com/platform/ndk/+/master/docs/user/common_problems.md for more information. [armeabi-v7a] Compile++ thumb: squeezencnn <= squeezencnn_jni.cpp [armeabi-v7a] SharedLibrary : libsqueezencnn.so [armeabi-v7a] Install : libsqueezencnn.so => libs/armeabi-v7a/libsqueezencnn.so

如出現以上提示。
恭喜你成功編譯出so文件!!!

3、后記

快過了一年了。最近有反饋在ndk: r19c無法編譯出so
現象如下:

也許有童鞋看上去眼熟。這是因為NDK高版本對源碼規范比較高導致的。

建議參考:
【親測】【Android Studio】升級3.1.2異常記錄

可下載里面ndk-v16進行編譯試試!

以上問題由下面的童鞋反饋

感謝@超級土豆EX

聯系我

QQ群號: 94297366
Email: lichongmac@163.com

轉載于:https://blog.51cto.com/4789781/2117481

總結

以上是生活随笔為你收集整理的【MAC】Ncnn 编译so文件方案的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。