新竹县网站建设_网站建设公司_Python_seo优化
2025/12/31 17:15:07 网站建设 项目流程

1. 关于编译工具

使用ohos-sdk为鸿蒙pc移植命令行,目前有3种编译方法,下面进行分别介绍。

1.1 第一种:build

早期参与鸿蒙PC命令行移植适配的开发者,应该都知道:OpenHarmonyPCDeveloper/build仓,这个仓的核心脚本就是build.sh。

代码逻辑非常简单,就是对工具链的路径、clang、cmake等编译工具进行了环境变量的设置。之后就是参考文档:HowToProtingForHarmony.md 为待移植命令编写编译脚本:build_ohos.sh。然后执行build.sh进行编译。最终得到鸿蒙PC版的可执行命令和hnp包。

⛔注意:目前不再维护,已经迁移到lycium_plusplus。

1.2 第二种:lycium_plusplus

https://atomgit.com/OpenHarmonyPCDeveloper/lycium_plusplus 作为 OpenHarmony C++ 编译框架,核心定位是降低 OpenHarmony PC 端 C++ 开发门槛,同时也是目前官方推荐的鸿蒙 PC 命令行移植适配框架。

lycium_plusplus支持集成命令包,同时,还可以指定依赖关系。实现一键编译。

1.3 第三种:自制轮子

对于Linux/Android等领域的C/C++开发者来说,上面这个图里的命令是非常熟悉的,就是c/c++工具链,所以我们可以把ohos-sdk当做工具链来使用。对于这部分人群来说,是完全可以参考传统方式,使用自己熟悉的流程和方法进行命令行的鸿蒙PC移植。

1.4 怎么选?

如果你在Linux领域有一定的开发经验,特别是有嵌入式Linux交叉编译经验或者Android NDK经验,可以尝试自制轮子的方式。否则的话,lycium_plusplus将是你的第一选择。

方法介绍适合人群
build官方最初推荐的方法,核心只有一个build.sh,比较简单。目前不再维护,已经迁移到lycium_plusplus。新手
lycium_plusplus类似openwrt、yocto等,专为鸿蒙pc命令行编译设计的一套复杂编译框架。可扩展,可指定依赖。
但是一套新框架,有学习成本。新手遇到问题会无从入手。
目前大多数开发者的首选,但需具备一定的学习能力,遇到问题时可进行排查定位。
自制轮子根据ohos-sdk,按需自行调用相关工具完成命令的移植。灵活可控。Linux领域的资深开发者。比如:
1. 有嵌入式Linux交叉编译经验的开发者
2. 有Android NDK经验的开发者

2. lycium_plusplus的搭建流程

接下来,就详细讲解如何在Ubuntu22.04环境下搭建lycium_plusplus运行环境,并将官方已适配好的tree命令构建出来。

2.1 安装常见依赖工具

为了减少移植适配过程中可能遇到的命令缺失问题,我们先通过下面2条命令完成常见依赖工具的安装,后面会省很多事。

# 更新软件源sudoaptupdate# 安装必备开发工具sudoaptinstall-ycurlgitvimgcc g++makepkg-config autoconf automake patch libtool autopoint gperf tcl8.6-devwgetunzipgccgo-go flex bison premake4 python3 python3-pip ninja-build meson sox gfortran subversion build-essential module-assistant gcc-multilib g++-multilib libltdl7-dev cabextract libboost-all-dev libxml2-utils gettext libxml-libxml-perl libxml2 libxml2-dev libxml-parser-perl texinfo xmlto po4a libtool-bin yasm nasm xutils-dev libx11-dev xtrans-dev

2.2 下载配置ohos sdk

为了保持目录整洁,我们所有的工具、脚本等都放在工作目录:~/harmonypc下:

# 创建鸿蒙pc命令行移植的工作目录mkdir~/harmonypc

2.2.1 下载ohos sdk

到openharmony ci的每日构建页,找到ohos-sdk进行下载。

这里提供一个20250819构建的ohos-sdk-full_ohos下载地址,使用wget命令下载到Ubuntu中即可。

# 进入工作目录cd~/harmonypc# 下载ohos sdkwgethttps://cidownload.openharmony.cn/version/Master_Version/ohos-sdk-full_ohos/20250819_020817/version-Master_Version-ohos-sdk-full_ohos-20250819_020817-ohos-sdk-full_ohos.tar.gz

下载完成后,使用tar命令解压sdk:

# 进入工作目录cd~/harmonypc# 解压ohos sdktarxf version-Master_Version-ohos-sdk-full_ohos-20250819_020817-ohos-sdk-full_ohos.tar.gz

解压完成后,会得到ohos-sdk目录。

2.2.2 解压ohos sdk

进入ohos-sdk/linux下,使用unzip命令解压native和toolchains两个压缩包。

cd~/harmonypc/ohos-sdk/linux/# 解压nativeunzip-qnative-linux-x64-6.0.0.46-Beta1.zip# 解压toolchainsunzip-qtoolchains-linux-x64-6.0.0.46-Beta1.zip

如下图所示,解压完成后,得到native和toolchains两个目录。

2.2.3 配置环境变量

在使用lycium_plusplus之前,需要先设置OHOS_SDK环境变量到ohos-sdk/linux目录。

# 设置OHOS_SDK环境变量exportOHOS_SDK=~/harmonypc/ohos-sdk/linux

环境变量设置完成后,查看一下2个核心工具:clangbinary-sign-tool是否存在。

ls$OHOS_SDK/native/llvm/bin/clangls$OHOS_SDK/toolchains/lib/binary-sign-tool

如下图所示,2个工具都能找到,说明ohos sdk的下载、解压、配置等步骤都已经成功了。

注意:每次开机或者每新开一个终端,在使用lycium_plusplus之前,都需要重新设置该环境变量,也可执行如下命令实现每次开机自动设置:

echo'export OHOS_SDK=~/harmonypc/ohos-sdk/linux'>>~/.`basename$SHELL`rc

2.3 下载lycium_plusplus

lycium_plusplus的仓库地址是https://atomgit.com/OpenHarmonyPCDeveloper/lycium_plusplus。我们将其clone到工作目录~/harmonypc下。

# 进入工作目录cd~/harmonypc# 下载lycium_plusplusgitclone https://gitcode.com/OpenHarmonyPCDeveloper/lycium_plusplus.git

如下图所示,是下载成功后工作目录~/harmonypc的目录结构情况:

2.4 使用lycium_plusplus编译tree命令

到这里,lycium_plusplus环境就已经搭建成功,后续就可以做鸿蒙PC命令行移植适配了。

lycium_plusplus已经移植了非常多的开源库和命令行,比如:tree,我们可以先尝试构建tree命令,体验lycium_plusplus的运行过程。

进入lycium_plusplus/lycium/目录下,执行./build.sh tree命令就可以启动tree命令的构建。

# 进入build.sh目录cd~/harmonypc/lycium_plusplus/lycium/# 构建tree命令./build.sh tree

如下图所示,是tree命令启动构建的日志:

如下图所示,看到Build tree 2.2.1 end!和ALL JOBS DONE!!!的日志,就说明tree命令构建成功了。

如下如所示,我们可以在usr/tree/arm64-v8a/bin下找到鸿蒙PC版本(ARM aarch64)的可执行程序:tree,在output/arm64-v8a/目录下可以找到hnp包:tree.hnp

3. 总结

到这里,这篇文章就大家完整走完了lycium_plusplus框架的环境搭建和官方适配好的tree命令移植,相信你对lycium_plusplus已经有了一定了解,但你是不是还在想:

  1. 编译好的命令如何在鸿蒙pc上运行?
  2. lycium_plusplus是怎么工作的?
  3. 我想移植一个其它命令该怎么做?
  4. 如果编译出错了如何解决?
  5. 编译日志可以在哪看?

不要急,接下来几篇将逐一为大家解答,力争让每个人都成为鸿蒙PC命令行移植适配的专家。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询