自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 收藏
  • 关注

原创 开源鸿蒙PC鸿蒙化跨平台的外部函数接口库libffi(Foreign Function Interface Library)构建过程和常见问题处理方式

本文详细记录了在aarch64架构下构建libffi 3.5.2的过程。通过OHOS_ARCH=aarch64 OHOS_ABI=arm64-v8a sh ./create-hnp.sh命令触发构建,涵盖了从镜像获取、Autotools构建到产物验证的全流程。构建过程采用多镜像回退策略确保下载可靠性,配置了完整的交叉编译参数,包括--sysroot和--target等关键标志。最终验证了共享库、静态库、头文件等产物的正确性,并总结了常见问题解决方案,如镜像下载超时、默认目标误指向等。该文档为复现和维护aar

2025-11-28 15:25:08 891

原创 开源鸿蒙化跨平台的用户空间 USB 设备访问库libusb过程实录和问题处理

本文详细记录了在aarch64架构下构建libusb 1.0.29库的完整过程。通过OHOS_ARCH=aarch64 OHOS_ABI=arm64-v8a sh ./create-hnp.sh命令触发构建,包含镜像获取、Autotools构建链路、产物验证等关键步骤。重点介绍了libusb的跨平台特性、核心功能(设备管理、数据传输等)以及构建中的常见问题处理方案,如GitHub下载超时、工具链配置、udev依赖等。特别说明了为兼容性创建头文件符号链接的解决方案,并提供了详细的产物验证方法,确保构建结果的正

2025-11-28 14:47:02 668

原创 轻量级、多协议、多源、跨平台的命令行下载工具Aria2鸿蒙化完整过程与常见问题处理

本文详细记录了在aarch64架构下构建Aria2 1.37.0命令行下载工具的过程。Aria2作为一款轻量级多协议下载工具,支持HTTP/HTTPS、FTP、BitTorrent等多种协议,具备多源下载、断点续传等核心特性。构建过程采用OHOS工具链,通过Autotools配置系统完成交叉编译,重点解决了OpenSSL链接、依赖管理等常见问题。最终验证了可执行文件、共享库、头文件等构建产物的正确性,并成功打包为HNP格式。文章提供了完整的构建脚本配置和问题排查方法,为类似场景下的构建工作提供了实用参考。

2025-11-27 16:18:13 519

原创 流式 XML 解析器库Expat鸿蒙化过程及常见问题处理

本文详细记录了在aarch64架构下使用OHOS_ARCH=aarch64 OHOS_ABI=arm64-v8a sh ./create-hnp.sh命令构建Expat 2.7.1的全过程。内容涵盖Expat库的核心特性(流式解析、事件驱动模型等)、构建流程(从源码获取到最终打包)、产物验证方法,以及常见问题的解决方案。特别针对镜像下载失败、链接错误、编码问题等典型问题提供了具体排查步骤和解决方法,为开发者提供了完整的构建参考和问题处理指南。

2025-11-27 15:22:27 359

原创 开源终端复用器Tmux(Terminal Multiplexer)鸿蒙化常见问题与解决方案

本文详细记录了在OHOS环境下构建Tmux 3.5a的过程。通过命令OHOS_ARCH=aarch64 OHOS_ABI=arm64-v8a sh ./create-hnp.sh启动构建,涵盖了环境准备、构建流程、关键配置和常见问题解决方案。重点包括:补丁处理(将TCSANOW替换为TCSADRAIN)、交叉编译配置、ncurses库集成,以及构建过程中的终端属性设置、下载失败、头文件路径等问题的解决方法。最终成功生成ELF格式的Tmux可执行文件并打包到base.hnp中,验证了产物的完整性和功能性。

2025-11-26 15:55:43 560

原创 C 语言编写的、轻量级的开源高性能网络事件通知库Libevent鸿蒙化完整指南:环境、问题与验证

本文记录了使用命令OHOS_ARCH=aarch64 OHOS_ABI=arm64-v8a sh ./create-hnp.sh构建Libevent 2.1.12的完整过程。首先介绍了Libevent作为高性能网络事件通知库的作用和核心特性,包括事件驱动模型、I/O多路复用封装等。详细说明了构建入口脚本、环境配置、Autotools参数设置以及完整的构建流程。提供了关键日志节点、产物验证方法,并针对OpenSSL组件缺失和GitHub下载失败等常见问题给出了解决方案。最后展示了构建产物的验证结果,确认Lib

2025-11-26 15:49:55 346

原创 tree 在鸿蒙PC上的构建与适配

本文介绍了tree命令行工具的功能特性、应用场景及常见问题解决方案。tree是一款用C语言编写的轻量级工具,可递归显示目录树状结构,支持多种输出格式(文本/HTML/JSON/XML)、颜色显示、文件过滤和排序等功能。文章详细说明了其安装使用、目录结构展示、文档生成等核心用途,并针对安装失败、权限错误、编译问题等常见报错提供了具体解决方法。此外,还探讨了该工具在开源鸿蒙PC端的适配要点,包括包管理器、编译工具链等系统环境差异的注意事项。

2025-11-25 10:16:21 744

原创 Shell PATH 配置问题排查与解决

构建 gengetopt 项目时发现 gengen 工具无法找到,尽管已安装。问题根源是 .zshrc 配置文件中两行命令被错误合并,导致 PATH 环境变量未正确加载。修复方法是拆分错误行并重新加载配置。建议使用语法检查、版本控制和测试新终端等预防措施,避免类似 PATH 配置问题。常见问题包括路径顺序错误、重复添加和相对路径等,可通过调试命令如 echo $PATH 和 which -a 进行排查。

2025-11-21 17:05:41 838

原创 Rust 程序适配 HarmonyOS 实践:以 sd 工具为例

本文介绍了Rust语言编写的sd工具成功适配HarmonyOS的实践过程。通过配置Rust交叉编译环境,使用aarch64-unknown-linux-musl目标平台,成功将纯Rust实现的查找替换工具编译运行于HarmonyOS。适配过程中解决了Nightly特性依赖、链接器集成、Unsafe代码兼容性等技术挑战,证明了Rust程序在HarmonyOS上的可行性。这一实践为鸿蒙生态引入Rust语言支持提供了范例,有助于扩展HarmonyOS应用生态、提升软件质量和吸引更多开发者。

2025-11-20 14:22:34 660

原创 ICU 主机构建架构不匹配问题解决

摘要: 在ICU库的HarmonyOS交叉编译过程中,主机构建阶段生成了ARM架构的工具,导致交叉编译阶段无法执行二进制文件。经分析发现,构建脚本未完全清除交叉编译环境变量(如AR、LD、RANLIB、SYSROOT),导致configure脚本误判为交叉编译环境。解决方案包括:1)保存所有相关环境变量;2)使用unset清除交叉编译变量;3)显式设置空值;4)构建后恢复环境变量。通过修改构建脚本确保使用系统编译器生成主机架构工具,解决了"无法执行二进制文件"问题。

2025-11-20 09:48:12 1617

原创 gengetopt 适配 HarmonyOS 构建问题解决实录

本文记录了将gengetopt命令行工具适配到HarmonyOS PC平台时遇到的构建问题及解决方案。主要问题包括:struct option重复定义、工具路径配置错误、gengen工具缺失及其与现代C++编译器的兼容性问题。通过修改config.h和Makefile配置、手动安装gengen并修复其编译错误,最终成功完成构建。这些修复方法涉及配置宏定义调整、构建脚本优化和兼容性处理,为类似项目的跨平台移植提供了参考。

2025-11-19 11:17:12 927

原创 HarmonyOS 原生应用构建系统深度解析:build.sh 主构建脚本详解

本文深入解析了HarmonyOS原生应用构建系统中核心脚本build.sh的设计与实现。该脚本采用分层架构,实现环境检测、参数解析、工具链配置等关键功能。主要内容包括:命令行参数解析与验证机制;自适应工具链选择策略;跨平台Python环境检测;基于LLVM的交叉编译工具链配置;SYSROOT系统根目录设置;详细编译标志解析;以及单组件与依赖构建两种模式。脚本设计体现了职责分离、可扩展性和用户友好性,为HarmonyOS生态移植传统命令行工具提供了标准化构建方案。

2025-11-18 17:31:48 605

原创 less 工具 HarmonyOS 适配故障排除详细记录

本文档记录了在将less工具适配到HarmonyOS PC平台时遇到的10个主要编译错误及解决方法。错误类型包括未定义类型(FILE、PATTERN_TYPE)、未声明函数(sprintf、termcap)、头文件缺失(sgtty.h)以及链接问题(termcap函数)。解决方案包括手动修改宏定义、添加头文件包含、调整编译参数等。最终通过分析错误根源、修改构建脚本和配置文件,成功完成了交叉编译适配。本文提供了详细的调试步骤和验证方法,为类似项目的跨平台移植提供了参考经验。

2025-11-18 17:05:35 769

原创 Qt for HarmonyOS 热力图组件开发实战

在HarmonyOS应用开发中,热力图(HeatMap)是一种常见的数据可视化组件,用于展示数据的密度分布和热点区域。热力图通过颜色渐变直观地表示数据的集中程度,广泛应用于用户行为分析、地理信息展示、数据统计等场景。本项目基于Qt/QML框架,开发了一个功能完整、性能优异的热力图组件,支持交互式添加热点、权重叠加、径向渐变渲染等功能,为HarmonyOS应用提供强大的数据可视化能力。

2025-11-17 14:12:00 841

原创 cordova-openharmony框架开发鸿蒙指南

cordova-openharmony是Cordova框架的鸿蒙适配版本,实现了与Android和iOS版本的接口兼容。该框架采用C/C++开发,支持ArkTS和C/C++插件开发,通过自研Socket TCP/IP通讯协议优化网络请求效率。支持多页面视图和单页面视图模式,便于原有项目移植到鸿蒙系统。框架内置CoreHarmony核心插件、内置浏览器和闪屏功能,可通过配置实现导航栏定制、闪屏控制等功能。集成时需将源码作为har包引入主工程,并移植原有项目的www资源文件。该方案帮助开发者实现一次开发即可适配

2025-11-17 10:10:11 1022

原创 Qt for HarmonyOS 气泡组件开发实战

本文将详细介绍如何使用 Qt Quick/QML 在 HarmonyOS 平台上开发一个功能完整、高度可定制的气泡提示组件。该组件支持自定义文本、方向、颜色、动画等属性,并提供了直观的可视化配置界面,是学习 Qt + HarmonyOS UI 组件开发的优秀实战案例。

2025-11-14 15:00:32 556

原创 Qt for HarmonyOS 圆形进度条组件开发实战

圆形进度条是一种常见的进度展示组件,适用于需要节省空间或强调视觉效果的场景。本项目基于Qt/QML框架,实现了多种样式的圆形进度条,包括Donut(圆环)、Pie(饼图)和Line(线条)三种样式,为HarmonyOS应用提供灵活的圆形进度展示方案。

2025-11-14 14:17:31 884

原创 Qt for HarmonyOS 无边框窗口缩放开发实战

在HarmonyOS应用开发中,无边框窗口和自定义窗口缩放是高级UI交互需求。本项目基于Qt/QML框架,实现了一个功能完整的无边框窗口缩放应用,支持通过鼠标在窗口边缘拖拽来调整窗口大小,同时集成了SplitView分割布局功能,展示了如何在Qt for HarmonyOS中实现自定义窗口交互和复杂布局管理。

2025-11-13 11:25:23 568

原创 Qt for HarmonyOS 跑马灯标签组件开发实战

在HarmonyOS应用开发中,跑马灯(Marquee)是一种常见的UI组件,用于在有限的空间内展示较长的文本内容。当文本长度超过容器宽度时,通过滚动动画让用户能够完整阅读所有内容。本项目基于Qt/QML框架,开发了一个高性能、可定制的跑马灯标签组件,为HarmonyOS应用提供流畅的文本滚动展示方案。

2025-11-13 11:15:10 786 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除