使用OHOS SDK构建filament
参照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的更多相关文章
- Eclips+ADT+SDK构建android开发环境及android自动化测试开发环境
一. 需要用到的包: 1.adt-bundle-windows-x86_64-20140702.zip+JDK+ant 2.ant下载地址:http://ant.apache.org/bindownl ...
- 使用声网 SDK 构建 Piloteer 助盲服务平台的最佳实践
前言 在今年声网主办的「RTE2022 编程挑战赛」中,数支队伍经过一个多月的努力开发,很多优秀的作品最终突出重围,斩获大奖.本文由RTE2022编程挑战赛获奖者之一李新春撰写,他主要围绕获奖作品「P ...
- Eclipse SDK构建J2EE开发环境
鄙视官Java EE Developers 体积庞大的兄弟们可以提出自己的J2EE开发环境! 1.第一次去Eclipse官网下载Eclipse IDE 我使用的是:Eclipse IDE for Ja ...
- .NET 7 SDK 开始 支持构建容器化应用程序
微软于 8 月 25 日在.NET官方博客上,.NET 7 SDK 将包括对创建容器化应用程序的支持,作为构建发布过程的一部分,从而绕过需要.显式 Docker 构建阶段. 这一决定背后的基本认知是简 ...
- 阿里云 OCS SDK for NodeJS介绍
阿里云 OCS SDK for NodeJS介绍 阿里云技术团队:熊亮 阿里云 SDK for NodeJS 是为 NodeJS 开发者提供使用阿里云各项服务的统一入口,由阿里云UED团队负责开发维护 ...
- eclipse构建maven+scala+spark工程
前提条件 下载安装Scala IDE build of Eclipse SDK 构建工程 1.新建maven工程 2.配置项目信息 3.新建scala对应的Source Folder 4.添加scal ...
- Android官方技术文档翻译——新构建系统概述
本文译自Android官方技术文档<New Build System>,原文地址:http://tools.android.com/tech-docs/new-build-system. ...
- Android官方技术文档翻译——开发工具的构建概述
本文译自Android官方技术文档<Build Overview>,原文地址:http://tools.android.com/build. 因为<Android Lint Chec ...
- Android SDK Mangaer 需要下载的组件
以 Windows 下为例,安装完 Android SDK 后,可以看到 SDK 的目录结构如下: 其中: SDK Manager.exe 是 Android SDK 的管理工具, AVD Manag ...
- 如何使用SDK在Ubuntu设备(包括仿真器和桌面)上运用应用程序
简介 有三种运行通过SDK创建的应用程序的方式:在桌面上,在联网的Ubuntu设备上,以及在仿真器中.这些方式为互补性方式,因为各有优缺点.您首先将了解如何管理SDK的设备类型,以及哪一个类型用于测试 ...
随机推荐
- SDL开发笔记(三):使用SDL渲染窗口颜色和图片
若该文为原创文章,未经允许不得转载原博主博客地址:https://blog.csdn.net/qq21497936原博主博客导航:https://blog.csdn.net/qq21497936/ar ...
- Vue 上传前获取图片宽度尺寸和大小
参考资料:https://www.cnblogs.com/wyx-remove-love/p/wyx-20190626-1.html https://blog.csdn.net/qq_22771 ...
- Template String Converter - 字符串中加变量 自动将单引号变换 - vscode插件
Template String Converter - 字符串中加变量 自动将单引号变换 - vscode插件
- Nginx 打不开 80端口占用 netstat -aon|findstr "80" 看有没有80占用 有的话 net stop http
Nginx 打不开 80端口占用 netstat -aon|findstr "80" 看有没有80占用 有的话 net stop http
- glibc 2.23 源码分析
1. 基础知识 1.1 Linux 进程内存布局 Linux 系统在装载 elf 格式的程序文件时,会调用 loader 把可执行文件中的各个段依次载入到从某一地址开始的空间中(载入地址取决于 lin ...
- Java取当前时间的一分钟后,并格式化输出
1.Java1.8 以前 Calendar instance = Calendar.getInstance();//获取当前日期时间 instance.add(Calendar.MINUTE,1);/ ...
- MediaCodec 低延时解码
介绍 我们在使用Android的硬解进行解码时,如果是Android11以上则可以使用其特性低延迟,谷歌官方文档 以下是Android 11支持的低时延特性: ANGLE支持:Android 11引入 ...
- Linux socket 摘要(一)
PS:要转载请注明出处,本人版权所有. PS: 这个只是基于<我自己>的理解, 如果和你的原则及想法相冲突,请谅解,勿喷. 前置说明 本文作为本人csdn blog的主站的备份.(Bl ...
- springboot如何优雅的获取前端参数
写在前面 对于初学者来说,困难的不是理论知识,而是如何在程序中具体实现. 现在的项目基本上都是前后端分离的项目,如何打通前后端,接收前端传过来的参数呢? 废话不多说,这篇文章就来说一说接收前端参数的具 ...
- 喜讯!瑞云科技被授予“海上扬帆”5G融合应用专委会成员单位
2022年7月19日,5G应用"海上扬帆"行动计划云启航大会暨"海上扬帆"融合应用专委会成立大会在沪成功举办. 受上海信通院工创中心邀请和信任,深圳市瑞云科技有 ...