2026/6/9 20:31:15
网站建设
项目流程
备案中的网站,手机能做网站吗,用wordpress,2015做那个网站能致富搭建鸿蒙PC命令行适配环境前言系统环境windows系统搭建好hdc工具wsl系统环境为Ubuntu 22.04配置鸿蒙sdk下载配置验证命令行hello工具编译运行hello程序其它前言
鸿蒙PC命令行环境搭建#xff0c;通常借助Ubuntu系统搭建交叉编译环境。这里借助windows系统的wsl完成。
系统环…搭建鸿蒙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和系统根路径Sysroottarget虽然常见的鸿蒙设备可能基于aarch64架构但目标平台是鸿蒙 PC 模拟器则应设置target为x86_64-linux-ohos以匹配其x86_64架构和 OpenHarmony 操作系统环境。sysroot该参数用于告知编译器使用鸿蒙系统提供的头文件和库而非主机如 Ubuntu自带的标准库。通过指定正确的 sysroot 路径可确保编译出的程序与鸿蒙系统的运行时环境兼容。$ clang --targetx86_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 重新适配的工具即使成功编译为 HNPHarmonyOS Native Package格式也无法直接安装运行必须进一步封装为 HAPHarmonyOS Ability Package并通过系统标准流程部署才能获得必要的权限和运行环境