当前位置: 首页 > news >正文

libaom 在ubuntu 上用鸿蒙OHOS编译

1) 导入 OHOS 环境(当前会话)

export OHOS_SDK=/root/harmony/command-line-tools/sdk/default/openharmony
export OHOS_SYSROOT=$OHOS_SDK/native/sysroot
export PATH=$OHOS_SDK/native/llvm/bin:$PATH# 确认编译器&sysroot可用
which aarch64-linux-ohos-clang
test -d "$OHOS_SYSROOT/usr/include" && echo "SYSROOT OK" || echo "SYSROOT MISSING"

2) 重新写入“最小可用”的 toolchain(避免解析错误)

cd ~/aom
cat > toolchain-ohos-aarch64.cmake <<'EOF'
# --- Minimal OHOS aarch64 toolchain for libaom (safe formatting) ---
set(CMAKE_SYSTEM_NAME Linux)
set(CMAKE_SYSTEM_PROCESSOR aarch64)# Prefer OHOS clang
set(CMAKE_C_COMPILER aarch64-linux-ohos-clang)
set(CMAKE_CXX_COMPILER aarch64-linux-ohos-clang++)# Sysroot from env
if(DEFINED ENV{OHOS_SYSROOT})set(CMAKE_SYSROOT "$ENV{OHOS_SYSROOT}")
else()message(FATAL_ERROR "OHOS_SYSROOT not set in environment.")
endif()# Search in sysroot
set(CMAKE_FIND_ROOT_PATH ${CMAKE_SYSROOT})
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)# PIC
set(CMAKE_POSITION_INDEPENDENT_CODE ON)# LLVM tools (optional)
find_program(LLVM_AR llvm-ar)
if(LLVM_AR)set(CMAKE_AR ${LLVM_AR})
endif()
find_program(LLVM_RANLIB llvm-ranlib)
if(LLVM_RANLIB)set(CMAKE_RANLIB ${LLVM_RANLIB})
endif()# Fallback: host clang + --target
find_program(HOST_CLANG clang)
find_program(HOST_CLANGXX clang++)
if(NOT EXISTS "/usr/bin/aarch64-linux-ohos-clang")if(HOST_CLANG AND HOST_CLANGXX)set(CMAKE_C_COMPILER   ${HOST_CLANG})set(CMAKE_CXX_COMPILER ${HOST_CLANGXX})set(CMAKE_C_FLAGS   "${CMAKE_C_FLAGS}   --target=aarch64-unknown-linux-ohos")set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --target=aarch64-unknown-linux-ohos")set(CMAKE_ASM_FLAGS "${CMAKE_ASM_FLAGS} --target=aarch64-unknown-linux-ohos")endif()
endif()
EOF# 确保是UNIX换行,避免“Parse error”
dos2unix toolchain-ohos-aarch64.cmake

  3) 生成 & 编译(Ninja)

mkdir -p ~/aom/build-ohos
cd ~/aom/build-ohos
rm -rf CMakeCache.txt CMakeFiles cmake_install.cmake Makefile build.ninjacmake .. \-G Ninja \-DCMAKE_TOOLCHAIN_FILE=../toolchain-ohos-aarch64.cmake \-DCMAKE_BUILD_TYPE=Release \-DBUILD_SHARED_LIBS=0 \-DENABLE_DOCS=0 \-DENABLE_TESTS=0 \-DENABLE_EXAMPLES=0 \-DAOM_TARGET_CPU=aarch64 \-DAOM_TARGET_SYSTEM=linuxninja -j"$(nproc)"# 产物检查
ls -lh libaom.*

  4)安装

    ninja install 

 

http://www.sczhlp.com/news/198843/

相关文章:

  • Aexlet-VGG2
  • 《膜拜!适合新手入门的卷积神经网络原理详解教程》读书报告
  • 佛山网站推广建设建设银行网站电脑上不去
  • 能盈利的网站做视频网站需要多大的带宽
  • 大学网站群建设方案wordpress 设置404
  • 做庭院景观的那个网站推广好游戏网站制作教程
  • 五合一自助建站网站怎么做二级网站
  • 电脑自带的做网站叫什么网站建设在哪学
  • 做网站域名解析免费小程序模板
  • 如何建设酒店预订系统网站开发公司网签撤回
  • 商业十大网站漯河网站建设价格
  • 有手机网站了还要微网站吗福建建设厅网站
  • 云虚拟主机和网站建设wordpress后台汉语
  • 网站后台地址忘了成都公司注册核名
  • 网站建设维护知识网站备案和实名认证
  • 站长权重php网站开发工程师职责
  • 郑州网站建设出名吗?热搜榜百度一下你就知道
  • 湖州站内优化seo公司杭州网站建设q479185700惠
  • 网站建设方案策划书WordPress数据库搬迁
  • 为什么什么网站都在维护网站友情链接检测
  • 建站教程下载北京市朝阳区网站开发公司电话
  • 网站支付怎么做安全吗电脑编程培训学校哪家好
  • 电子商城网站建站客网页类型分类7种
  • 杭州外贸网站建设公司价格个性网页设计
  • 贵州省建设网站wordpress布局调整
  • 河源建设局网站成品短视频软件推荐下载免费
  • 如何加强企业网站建设论文网站代码生成网站
  • 重新定义网络安全职业:从解决问题的角度出发
  • 新学期每日总结(第9天)
  • 斑马日记2025.10.15