HarmonyOS 鸿蒙Next 如何编译第三方的so库呢?编译出来是三个so文件

发布于 1周前 作者 songsunli 最后一次编辑是 5天前 来自 鸿蒙OS

HarmonyOS 鸿蒙Next 如何编译第三方的so库呢?编译出来是三个so文件

我现在正在尝试把opus编译成鸿蒙可用的版本,按照网上的资料编写了编译的脚本,最后得出的三个这样的so包~。~导入项目后也用不了。

cke_1798.png

编译脚本如下:

#!/bin/bash
set -e  # 如果发生错误则停止脚本
set -o pipefail  # 捕捉管道中的错误

# 设置环境变量 export OHOS_SDK_HOME=。。。 export CMAKE_HOME=。。 export PATH=$CMAKE_HOME/bin:$PATH

# 检查工具版本 cmake --version ninja --version

# 定义源代码和构建目录 SRC_ROOT=$(pwd) BUILD_ROOT=$SRC_ROOT/build-ohos-arm64-v8a

# 配置 CMake 构建系统 cmake -G “Ninja Multi-Config”
-S $SRC_ROOT
-B $BUILD_ROOT
-DCMAKE_TOOLCHAIN_FILE="$OHOS_SDK_HOME/native/build/cmake/ohos.toolchain.cmake"
-DCMAKE_CXX_FLAGS="-Wno-unused-command-line-argument"
-DCMAKE_C_FLAGS="-O3 -Wno-unused-command-line-argument"
-DOPUS_BUILD_SHARED_LIBRARY=ON
-DOHOS_ARCH=arm64-v8a
-DPACKAGE_VERSION=1.3.1
-DOPUS_STACK_PROTECTOR=ON
-DOPUS_INSTALL_PKG_CONFIG_MODULE=OFF
-DOPUS_INSTALL_CMAKE_CONFIG_MODULE=OFF
-DOPUS_BUILD_PROGRAMS=OFF
-DOPUS_BUILD_TESTING=OFF
-DBUILD_TESTING=OFF
-DOPUS_DISABLE_INTRINSICS=ON
-DOPUS_USE_NEON=OFF
-DOPUS_CUSTOM_MODES=OFF
-DOPUS_FIXED_POINT=OFF
-DOPUS_ENABLE_FLOAT_API=ON
-DOPUS_FLOAT_APPROX=OFF
-DOPUS_ASSERTIONS=OFF
-DOPUS_HARDENING=OFF
-DOPUS_FUZZING=OFF
-DOPUS_CHECK_ASM=OFF

# 编译和生成文件 cmake --build $BUILD_ROOT --parallel

2 回复

在HarmonyOS鸿蒙Next中编译第三方的so库,并生成三个不同平台的so文件,通常可以按照以下步骤进行:

  1. 准备第三方库源码:确保你拥有要编译的第三方库的源码,并将其整理到一个项目中。
  2. 创建HarmonyOS项目:使用DevEco Studio创建一个新的HarmonyOS项目,或打开现有的项目。
  3. 配置CMakeLists.txt:在项目的根目录或指定位置创建CMakeLists.txt文件,并配置编译器选项、源文件路径、目标库名等。例如,添加add_librarytarget_link_libraries指令来指定要编译的库和依赖。
  4. 选择构建平台:在项目的build.gradle或相关配置文件中,设置abiFilters来指定要编译的平台,如arm64-v8a、armeabi-v7a和x86_64。
  5. 编译项目:使用DevEco Studio的编译功能或命令行工具进行编译,生成对应平台的so文件。编译完成后,你可以在项目的构建输出目录中找到生成的so文件。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部