参照OHOS IDE和SDK的安装方法配置好开发环境。

gitee下载源码。

执行如下命令:

git clone https://gitee.com/oh-graphics/filament.git -b v1.32.1-ohos

构建过程分为两步,先构建Windows平台的工具链,然后再构建OHOS平台的库文件。

Windows平台

进入源码所在的目录,创建批处理文件windows_build.cmd,内容如下:

@echo off
setlocal
set OHOS_SDK_HOME=D:\Tools\Huawei\OHOS\SDK\9
set CMAKE_HOME=D:\Tools\cmake-3.26.0-windows-x86_64
set PATH=%CMAKE_HOME%\bin;%PATH% set PYTHON_HOME=D:\Tools\python-3.10.10-embed-amd64
set PATH=%PYTHON_HOME%\;%PATH%
set PATH=%PYTHON_HOME%\Scripts\;%PATH% set SRC_ROOT=%CD%
set BUILD_ROOT=.\out\cmake-release
set INSTALL_ROOT=.\out\release\filament cmake -G Ninja ^
-S %SRC_ROOT% ^
-B %BUILD_ROOT% ^
-DCMAKE_INSTALL_PREFIX=%INSTALL_ROOT% ^
-DFILAMENT_ENABLE_JAVA=NO ^
-DCMAKE_BUILD_TYPE=Release ^
-DIMPORT_EXECUTABLES_DIR=out ^
-DFILAMENT_SKIP_SAMPLES=ON cmake --build %BUILD_ROOT% --target install --config release --parallel

进入CMD,在源码所在的目录下,执行如下命令:

call windows_build.cmd

等待项目编译结束。

OHOS平台

进入源码所在的目录,创建批处理文件ohos_build.cmd,内容如下:

@echo off
setlocal
set OHOS_SDK_HOME=D:\Tools\Huawei\OHOS\SDK\9
set CMAKE_HOME=D:\Tools\cmake-3.26.0-windows-x86_64
set PATH=%CMAKE_HOME%\bin;%PATH% set PYTHON_HOME=D:\Tools\python-3.10.10-embed-amd64
set PATH=%PYTHON_HOME%\;%PATH%
set PATH=%PYTHON_HOME%\Scripts\;%PATH% set SRC_ROOT=%CD% cmake -S %SRC_ROOT% ^
-B %SRC_ROOT%\out\build-ohos ^
-G "Ninja Multi-Config" ^
-DCMAKE_TOOLCHAIN_FILE=%OHOS_SDK_HOME%\native\build\cmake\ohos.toolchain.cmake ^
-DOHOS_NDK=%OHOS_SDK_HOME% ^
-DOHOS_PLATFORM_LEVEL=1 ^
-DOHOS_ARCH=arm64-v8a ^
-DCMAKE_CXX_FLAGS="-D__OHOS__=1 -Wno-unused-command-line-argument -Wno-undef" ^
-DCMAKE_C_FLAGS="-D__OHOS__=1 -Wno-unused-command-line-argument -Wno-undef" ^
-DIMPORT_EXECUTABLES_DIR=out ^
-DCMAKE_BUILD_TYPE="Release" ^
-DFILAMENT_NDK_VERSION="9" ^
-DFILAMENT_ENABLE_MATDBG=OFF ^
-DFILAMENT_DISABLE_MATOPT=ON ^
-DFILAMENT_SUPPORTS_OPENGL=ON ^
-DFILAMENT_SUPPORTS_EGL_ON_OHOS=ON ^
-DFILAMENT_SUPPORTS_VULKAN=OFF ^
-DFILAMENT_SKIP_SAMPLES=ON ^
-DFILAMENT_ENABLE_JAVA=NO ^
-DOHOS_ON_WINDOWS=ON cmake --build %SRC_ROOT%\out\build-ohos --config release --parallel

进入CMD,在源码所在的目录下,执行如下命令:

call ohos_build.cmd

等待项目编译结束。

使用OHOS SDK构建filament的更多相关文章

  1. Eclips+ADT+SDK构建android开发环境及android自动化测试开发环境

    一. 需要用到的包: 1.adt-bundle-windows-x86_64-20140702.zip+JDK+ant 2.ant下载地址:http://ant.apache.org/bindownl ...

  2. 使用声网 SDK 构建 Piloteer 助盲服务平台的最佳实践

    前言 在今年声网主办的「RTE2022 编程挑战赛」中,数支队伍经过一个多月的努力开发,很多优秀的作品最终突出重围,斩获大奖.本文由RTE2022编程挑战赛获奖者之一李新春撰写,他主要围绕获奖作品「P ...

  3. Eclipse SDK构建J2EE开发环境

    鄙视官Java EE Developers 体积庞大的兄弟们可以提出自己的J2EE开发环境! 1.第一次去Eclipse官网下载Eclipse IDE 我使用的是:Eclipse IDE for Ja ...

  4. .NET 7 SDK 开始 支持构建容器化应用程序

    微软于 8 月 25 日在.NET官方博客上,.NET 7 SDK 将包括对创建容器化应用程序的支持,作为构建发布过程的一部分,从而绕过需要.显式 Docker 构建阶段. 这一决定背后的基本认知是简 ...

  5. 阿里云 OCS SDK for NodeJS介绍

    阿里云 OCS SDK for NodeJS介绍 阿里云技术团队:熊亮 阿里云 SDK for NodeJS 是为 NodeJS 开发者提供使用阿里云各项服务的统一入口,由阿里云UED团队负责开发维护 ...

  6. eclipse构建maven+scala+spark工程

    前提条件 下载安装Scala IDE build of Eclipse SDK 构建工程 1.新建maven工程 2.配置项目信息 3.新建scala对应的Source Folder 4.添加scal ...

  7. Android官方技术文档翻译——新构建系统概述

    本文译自Android官方技术文档<New Build System>,原文地址:http://tools.android.com/tech-docs/new-build-system. ...

  8. Android官方技术文档翻译——开发工具的构建概述

    本文译自Android官方技术文档<Build Overview>,原文地址:http://tools.android.com/build. 因为<Android Lint Chec ...

  9. Android SDK Mangaer 需要下载的组件

    以 Windows 下为例,安装完 Android SDK 后,可以看到 SDK 的目录结构如下: 其中: SDK Manager.exe 是 Android SDK 的管理工具, AVD Manag ...

  10. 如何使用SDK在Ubuntu设备(包括仿真器和桌面)上运用应用程序

    简介 有三种运行通过SDK创建的应用程序的方式:在桌面上,在联网的Ubuntu设备上,以及在仿真器中.这些方式为互补性方式,因为各有优缺点.您首先将了解如何管理SDK的设备类型,以及哪一个类型用于测试 ...

随机推荐

  1. go-ini解析ini文件

    文档 https://github.com/go-ini/ini https://ini.unknwon.io/docs/intro/getting_started go get -u gopkg.i ...

  2. 以下总结了Java一些面试前准备和技术参考题,希望对你有所帮助

    以下真实模拟JAVA面试场景: 感谢您参加我们的面试: 以下是我们总结一些面试前准备和技术参考题,希望对你有所帮助. 首先,你需要先准备下工作相关的自我介绍,包括以下内容: 几年 Java 开发经验, ...

  3. 【Application Insights】使用Powershell命令向Application Insgihts发送测试数据

    问题描述 在昨天的文章中,介绍了 "[Application Insights]使用CURL命令向Application Insgihts发送测试数据",今天则继续实验通过Powe ...

  4. Jmeter Jsonpath 语法你了解多少?

  5. Rust 开发的高性能 Python 包管理工具,可替换 pip、pip-tools 和 virtualenv

    最近,我在 Python 潮流周刊 中分享了一个超级火爆的项目,这还不到一个月,它在 Github 上已经拿下了 8K star 的亮眼成绩,可见其受欢迎程度极高!国内还未见有更多消息,我趁着周末把一 ...

  6. RocketMQ(2) 消息的生产和存储

    ## 一 : 消息的生产 1. 消息的生产过程 Producer在发送消息时可以将消息写入到指定topic的某Broker中的某Queue中,其经历了如下过程: Producer发送消息之前,会先向N ...

  7. C++ //谓词 //一元谓词 //概念:返回bool类型的仿函数称为 谓词 //如果 operator()接受一个参数,那么叫做一元谓词 //如果 operator()接受 2 个参数,那么叫做一元谓词

    1 //谓词 2 //一元谓词 3 //概念:返回bool类型的仿函数称为 谓词 4 //如果 operator()接受一个参数,那么叫做一元谓词 5 //如果 operator()接受 2 个参数, ...

  8. B. Ela's Fitness and the Luxury Number

    思路: \[能想到平方是比较特殊的,因为x*x一定是x的倍数也就是说\sqrt[2]{x*x} = {x} \] \[所以需要考虑平法之间的数手模一下样例可以发现 [x^2 ,(x+1)^2)之间是x ...

  9. think about 和 think of 区别

    about 是 on by out 简称 about 在旁边 在外围 周边 think about you 想你有关的事 of 是 belong to 什么什么的 of指的是 这个人或者这个事本身相关 ...

  10. FreeRTOS教程4 消息队列

    1.准备材料 正点原子stm32f407探索者开发板V2.4 STM32CubeMX软件(Version 6.10.0) Keil µVision5 IDE(MDK-Arm) 野火DAP仿真器 XCO ...