参照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. 海康摄像头开发笔记(一):连接防爆摄像头、配置摄像头网段、设置rtsp码流、播放rtsp流、获取rtsp流、调优rtsp流播放延迟以及录像存储

    前言   Hik防爆摄像头录像,因为防爆摄像头会有对应的APP软件,与普通的网络摄像头和球机不一样,默认认为它不可以通过web网页配置,所以弄了个来实测确认.  经测试实际上也是可以通过web网页配置 ...

  2. 关于Python中math 和 decimal 模块的解析与实践

    本文分享自华为云社区<Python数学模块深度解析与实战应用>,作者: 柠檬味拥抱. 在Python中,math 和 decimal 模块是处理数学运算的重要工具.math 提供了一系列常 ...

  3. 【Azure App Service】误删除App Service资源,怎么办?

    问题描述 操作不当,误删除了App Service的资源,怎么办? 问题解答 根据Azure 官方文档,可以使用 Powershell 命令恢复到原始 App Service 应用名称. 操作步骤 第 ...

  4. 【Azure Key Vault】.NET 代码如何访问中国区的Key Vault中的机密信息(Get/Set Secret)

    问题描述 使用 .NET Azure.Identity 中的 DefaultAzureCredential 认证并连接到Azure Key Vault中, 在Key Vault 的示例中,并没有介绍如 ...

  5. 如何在 C# 中以编程的方式将 CSV 转为 Excel XLSX 文件

    前言 Microsoft Excel的XLSX格式以及基于文本的CSV(逗号分隔值)格式,是数据交换中常见的文件格式.应用程序通过实现对这些格式的读写支持,可以显著提升性能.在本文中,小编将为大家介绍 ...

  6. 十五: InnoDB的存储结构

    InnoDB的存储结构 1.数据库的存储结构:页 索引结构给我们提供了高效的索引方式,不过索引|信息以及数据记录都是保存在文件上的,确切说是存储在页结构中.另一方面,索引是在存储引擎中实现的,MySQ ...

  7. Java 内部类 注意点

    1 package com.bytezreo.innerclass2; 2 3 /** 4 * 5 * @Description 内部类 注意点 6 * @author Bytezero·zhengl ...

  8. MySQL---面经

    如果想要对 MySQL 的索引树有更深入的了解,掘金的小册子:<MySQL 是怎样运行的> MySQL 是怎样运行的 以下是常见面试题 MySQL日志 MySQL日志系统 redo_log ...

  9. vue和xml复习

    复习 JS知识梳理 JS定义的位置 行内js(事件名="javascript:js代码"),内部js(

  10. idea 暂存 Stash Changes Git/Repository/Stash Changes 恢复暂存 UnStash Changes

    idea 暂存 Stash Changes Git/Repository/Stash Changes 恢复暂存 UnStash Changes git stash save "save me ...