参照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. Qt+ECharts开发笔记(一):ECharts介绍、下载和Qt调用ECharts基础柱状图Demo

    前言   使用Qt开发大数据可视化看板,基于Qt使用QWidget或者QML是很难达到ECharts大数据看板的效果,所以使用Qt来制作.   核心思想   每一个ECharts图表使用一个无边框的Q ...

  2. 第136篇:动画API:setInterval 与 requestAnimationFrame的区别

    好家伙,书接上文   function animate() { //请求-动画-框架 requestAnimationFrame( animate ); //改变正方体在场景中的位置,让正方体动起来 ...

  3. 【Azure 服务总线】向服务总线发送消息时,返回错误代码Error code : 50009

    问题描述 使用Java SDK向服务总线(Service Bus)发送消息时,返回这个错误: org.springframework.jms.UncategorizedJmsException: Un ...

  4. 【Azure Spring Cloud】Azure Spring Cloud connect to SQL using MSI

    问题描述 在Azure Spring Cloud中,通过ActiveDirectoryMSI方式来连接到SQL Service,需要如何配置呢? 问题分析 在SQL Service中启用Active ...

  5. 使用beyond compare或kompare作为git的对比、合并工具

    两种方法 方法1: 直接使用命令 # 执行下面命令,参看支持对比合并工具名称,比如bc就是指beyond compare(收费软件,推荐使用开源的kompare) $ git difftool --t ...

  6. 使用 Java 在Excel中创建下拉列表

    下拉列表(下拉框)可以确保用户仅从预先给定的选项中进行选择,这样不仅能减少数据输入错误,还能节省时间提高效率.在MS Excel中,我们可以通过 "数据验证" 提供的选项来创建下拉 ...

  7. php的php-fpm

    FastCgi与PHP-fpm到底是个什么样的关系 昨晚有一位某知名在线教育的大佬问了我一个问题,你知道php-fpm和cgi之间的关系吗?作为了一个5年的phper了,这个还不是很简单的问题,然后我 ...

  8. C++ STL之 map 学习笔记

    •何为 map? map 是 STL 的一个关联容器,它提供一对一的数据处理,map 中存放的是一个 key-value键值对,其类型可以自己定义: 第一个可以称为关键字,每个关键字在 map 中只能 ...

  9. Github登录 2FA(Two-Factor Authentication/两因素认证) 浏览器插件-已验证

    Github登录 2FA(Two-Factor Authentication/两因素认证) 浏览器插件-已验证 chrome 装下这个扩展 身份验证器 https://chromewebstore.g ...

  10. 计算引擎-Flink

    参考:https://mp.weixin.qq.com/s/RUS9w-bGan6fDcF9CVqvFw checkpoint 1.Checkpoint Coordinator 向所有 source ...