文章目錄
- 準備
- 編譯
- 使用
準備
安裝DevEco Studio,并且安裝好對應OpenHarmony版本的SDK
比如我這里安裝了API 11 的sdk
對應的文件夾
然后下載ASSIMP的源文件,我這里下載的是5.4.3版本
【assimp 5.4.3】
解壓放在一個文件夾里面,并在源碼文件夾中新建一個build文件夾
然后啟動cmake-gui(安裝個最新的版本會好一點)
按照以下步驟設置好
設置源碼路徑
設置build路徑
點擊configure
在彈出的窗口中選擇Ninja
選擇Specify toolchain file for cross-compiling
點擊Next
選擇你對應sdk下的 native/build/cmake/ohos.toolchain.cmake
還要設置一下環境變量,將;native/build-tools/cmake/bin
加到path后面(記得加英文字符的分號)
然后再次點擊configure,然后取消勾選ASSIMP_WARNING_AS_ERRORS
,設置編譯后的庫的安裝路徑
點擊Generate
編譯
然后打開powerSheel,cd到源碼路徑,執行ninja(這個ninja最好還是使用sdk自帶的那個)
等編譯完了,再執行ninja install
東西就出來了
然后就可以愉快地玩耍了。
使用
在項目的cmakeList.txt中,增加以下語句
# assimp
set(ASSIMP_ROOT "D:/harmonyOS/assimp-5.4.3/build/install")
target_include_directories(entry PRIVATE "${ASSIMP_ROOT}/include")
target_link_directories(entry PRIVATE "${ASSIMP_ROOT}/lib")
target_link_libraries(entry PRIVATE assimp)
然后將libassimp.so.5
拷貝到項目的entry/libs/arm64-v8a
文件夾中
寫一段代碼,檢驗一下:
看一下輸出:
木有問題,完美。
參考:
【Win端交叉編譯鴻蒙Ohos Native層第三方庫流程】
【基于NDK編譯三方庫】