news 2026/8/22 14:09:40

搭建鸿蒙PC命令行适配环境测试hello程序

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
搭建鸿蒙PC命令行适配环境测试hello程序

搭建鸿蒙PC命令行适配环境

    • 前言
    • 系统环境
      • windows系统搭建好hdc工具
      • wsl系统环境为Ubuntu 22.04
    • 配置鸿蒙sdk
      • 下载
      • 配置
      • 验证
    • 命令行hello工具
      • 编译
    • 运行hello程序
    • 其它

前言

鸿蒙PC命令行环境搭建,通常借助Ubuntu系统搭建交叉编译环境。这里借助windows系统的wsl完成。

系统环境

这里假定windows系统下的hdc工具已经可以使用,wsl的Ubuntu22.04已经配置成功。如果没有配置,搜索搭建一下。

windows系统搭建好hdc工具

wsl系统环境为Ubuntu 22.04

配置鸿蒙sdk

开源鸿蒙sdk的版本可以通过如下链接下载:
https://repo.huaweicloud.com/openharmony/os/
这里面有很多版本,最新的是6.0.0.1版本。也有根据自己需要下载里面的ohos-sdk-windows_linux-public.tar.gz
当然,也可以使用华为官网发布的command-line-tools for Linux。网址为:最新版本 - 下载中心 - 华为开发者联盟。

下载

这里以下载command-line-tools for Linux为例。

配置

搭建交叉编译环境,需要配置好环境变量,方便编译时使用。
wsl里面,打开~/.bashrc,配置如下环境变量,追加在文件最后面。

exportOHOS_SDK_HOME=$HOME/command-line-tools/sdk/default/openharmony# Native 编译器 (clang/cmake等)exportPATH=$OHOS_SDK_HOME/native/build-tools/cmake/bin:$PATHexportPATH=$OHOS_SDK_HOME/native/llvm/bin:$PATH

验证

重新导入一下.bashrc,使新增加的环境变量生效。

$source~/.bashrc

如果查看clang命令的版本,已经显示OHOS相关的信息,则表示环境变量已经生效。

$ clang --version OHOS(dev)clang version15.0.4(llvm-project 115b628d33dda4da4b17e14ed69dd8b74c058b48)Target: x86_64-unknown-linux-gnu Thread model: posix InstalledDir: /home/yan/command-line-tools/sdk/default/openharmony/native/llvm/bin

命令行hello工具

编译

简单代码如下:

#include <stdio.h> int main() { printf("Hello HarmonyOS from WSL Ubuntu 22.04!\n"); return 0; }

需要明确指定目标架构(Target)和系统根路径(Sysroot):

  • target:虽然常见的鸿蒙设备可能基于aarch64架构,但目标平台是鸿蒙 PC 模拟器,则应设置targetx86_64-linux-ohos,以匹配其x86_64架构和 OpenHarmony 操作系统环境。
  • sysroot:该参数用于告知编译器使用鸿蒙系统提供的头文件和库,而非主机(如 Ubuntu)自带的标准库。通过指定正确的 sysroot 路径,可确保编译出的程序与鸿蒙系统的运行时环境兼容。
$ clang --target=x86_64-linux-ohos --sysroot=$OHOS_SDK_HOME/native/sysroot -D_MUSL_ hello.c -o hello-x86

运行hello程序

模拟器环境是在windows系统上,通过搭建好的hdc工具,发送编译好的hello-x86程序到/data/local/tmp/目录。添加可执行权限,程序就可以运行了。

其它

在鸿蒙系统中,/data/local/tmp目录虽然可以临时存放可执行程序(例如一个简单的hello程序),且运行基本不受限制,但其权限非常受限。若程序功能较为复杂(如涉及系统调用、文件访问或网络通信等),这种方式往往无法满足需求。

此外,大多数为 Linux 重新适配的工具即使成功编译为 HNP(HarmonyOS Native Package)格式,也无法直接安装运行,必须进一步封装为 HAP(HarmonyOS Ability Package)并通过系统标准流程部署,才能获得必要的权限和运行环境

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/21 21:08:03

5大实用技巧:用downkyi打造高效视频下载工作流

5大实用技巧&#xff1a;用downkyi打造高效视频下载工作流 【免费下载链接】downkyi 哔哩下载姬downkyi&#xff0c;哔哩哔哩网站视频下载工具&#xff0c;支持批量下载&#xff0c;支持8K、HDR、杜比视界&#xff0c;提供工具箱&#xff08;音视频提取、去水印等&#xff09;。…

作者头像 李华
网站建设 2026/8/22 1:22:14

Switch版最全模拟器系统:LAKKA懒人整合包最新版

LAKKA懒人整合包详细介绍&#xff1a;系统基础&#xff1a;LAKKA是一个基于RetroArch的开源模拟器系统&#xff0c;专为Nintendo Switch平台设计。它利用Switch的强大硬件性能&#xff0c;模拟多种经典游戏主机。整合内容&#xff1a;整合了包括NES、SNES、Game Boy、Game Boy …

作者头像 李华
网站建设 2026/8/22 0:29:02

YOLOv11 改进 - C2PSA | C2PSA融合Mona多认知视觉适配器(CVPR 2025):打破全参数微调的性能枷锁:即插即用的提点神器,引领视觉微调新突破

前言 本文介绍了新型视觉适配器微调方法Mona,并将其集成到YOLOv11中。传统全参数微调成本高、存储负担重且有过拟合风险,现有PEFT方法性能落后。Mona仅调整5%以内的骨干网络参数,在多个视觉任务中超越全参数微调。其核心亮点包括参数效率高、性能突破和即插即用。适配器模块…

作者头像 李华
网站建设 2026/8/21 20:15:50

YOLOv11 改进 - SPPF模块 | 替代SPPF, Mona多认知视觉适配器(CVPR 2025):打破全参数微调的性能枷锁:即插即用的提点神器

前言 本文介绍了新型视觉适配器微调方法Mona,并将其集成到YOLOv11中。传统全参数微调成本高、存储负担重且有过拟合风险,现有PEFT方法性能落后。Mona仅调整5%以内的骨干网络参数,在多个视觉任务中超越全参数微调。其核心亮点包括参数效率高、性能突破和即插即用。适配器模块…

作者头像 李华
网站建设 2026/8/22 13:42:40

企业级RPM组件变更测试全攻略:从虚拟化到容器化的深度实践

引言&#xff1a;RPM测试为何如此关键&#xff1f; 在Linux DevOps实践中&#xff0c;RPM包的管理与测试往往是决定系统稳定性的关键环节。每一次组件的升级、修复或功能增强&#xff0c;都可能引入意想不到的依赖冲突、配置变更或性能问题。据统计&#xff0c;超过30%的生产环…

作者头像 李华
网站建设 2026/8/22 9:50:36

MongoDB 索引

MongoDB 索引 引言 MongoDB 是一个高性能、可扩展的文档存储数据库,它提供了灵活的数据模型和强大的查询能力。在 MongoDB 中,索引是一个非常重要的概念,它能够显著提高数据库的查询效率。本文将深入探讨 MongoDB 索引的原理、类型、创建方法以及优化策略。 索引概述 索…

作者头像 李华