登录社区云,与社区用户共同成长
邀请您加入社区
Lycium++是基于 OpenHarmony PC C/C++ 编译框架Lycium的增强版本,提供更强大的自动化构建能力和依赖管理功能。HNP (HarmonyOS Native Package) 是 HarmonyOS 的原生包格式,可以直接在 HarmonyOS 系统上安装和使用。
MPFR构建过程摘要 本文详细记录了在aarch64架构下使用OHOS_ARCH=aarch64 OHOS_ABI=arm64-v8a sh ./create-hnp.sh命令构建MPFR高精度浮点库的过程。MPFR作为GCC等工具链的核心依赖,提供任意精度浮点运算和IEEE 754标准支持。构建流程包括:通过顶层Makefile触发mpfr包编译、使用OHOS SDK的LLVM工具链配置(--h
使用 AtomCode + Skills 自动完成Protobuf鸿蒙化适配。
OpenHarmony(开源鸿蒙)使用musl libc而非 Linux 常用的glibc,并使用自有的OHOS SDK交叉编译工具链。编写HPKBUILD构建脚本(类 Arch Linux PKGBUILD 风格)配置交叉编译工具链(处理 musl libc 与 glibc 的 API 差异解决构建系统的平台检测问题验证产物在 OHOS 设备上的正确运行但 kcp 的适配有一个特殊之处——它没有
鸿蒙PC应用集成libhv三方库的AI辅助实践 摘要:本文介绍了基于AtomCode智能编码助手和lycium系列Skills,在鸿蒙PC(2in1)设备上高效集成libhv网络库的全流程解决方案。通过对比传统集成方式(耗时170-200分钟)与AI辅助方案,重点展示了如何利用"lycium-app-integration"等技能模板自动完成工程创建、三方库部署、CMake配置、NAPI桥接等关键
hwloc 的 NAPI 集成流程展现了鸿蒙 PC 三方库集成的典型模式:交叉编译 → 库部署 → CMake 链接 → NAPI 桥接 → ArkTS 调用。3 个踩坑记录(链接顺序、JSON 缺括号、ArkTS 类型约束)覆盖了静态库集成中最常见的三类问题——链接器、运行时和编译器。
开源鸿蒙PC社区邀请开发者共建C/C++三方库生态 本文介绍了HTTP基准测试工具wrk v4.2.0在鸿蒙PC平台的适配过程。主要内容包括: 技术背景:wrk是高性能HTTP压测工具,依赖LuaJIT和OpenSSL,需处理musl libc与glibc的兼容性问题 适配流程: 使用AtomCode Skills工具自动生成HPKBUILD构建脚本 解决交叉编译环境配置问题 处理LuaJIT和O
libuv在鸿蒙PC平台的适配实践 本文详细记录了libuv 1.52.1在鸿蒙PC平台的完整适配过程,包括: 使用AtomCode Skills自动化工作流生成HPKBUILD构建脚本 配置OHOS SDK交叉编译工具链和musl libc环境 解决平台差异性问题(如cpu_set_t未定义等) 通过CMake工具链文件指定鸿蒙专用编译选项 构建验证和问题修复的全流程 关键点: 使用/new-p
摘要: 本文介绍了如何在鸿蒙应用中集成11Zip压缩库的完整流程,借助AtomCode AI编码助手及其Skills系统自动完成NAPI集成。内容包括工程初始化、CMake配置、NAPI桥接、ArkTS适配验证,以及解决std::filesystem沙箱兼容性问题等关键步骤。同时提供了资源链接和实战中遇到的undefined symbol问题的排查与解决方案。 关键词: 鸿蒙应用、11Zip、At
本文是Lycium适配系列的第四篇,主要介绍HPKBUILD编写后的构建执行流程与产物获取方法。文章详细解析了构建流程的9个关键步骤,包括依赖解析、源码下载、多架构循环编译等核心环节。同时提供了构建日志分析指南,包括日志位置、内容解读和常见错误排查方法。此外,还介绍了多依赖递归编译机制和HAP集成流程,帮助开发者高效完成鸿蒙PC应用的第三方库适配工作。
本文是Lycium适配系列的第六篇,总结了适配过程中的关键注意事项与最佳实践。主要内容包括:1)依赖管理规则,强调依赖名称精确匹配和架构超集要求;2)架构超集规则的必要性和常见配置方案;3)鸿蒙本机构建(DevBox)的使用场景、特性及与交叉编译的区别;4)SHA512SUM校验机制流程及最佳实践。文章旨在帮助开发者避免常见陷阱,确保库适配的顺利进行。
摘要: 本文是Lycium适配系列的第一篇,介绍了Lycium框架的核心概念与交叉编译环境搭建。Lycium是OpenHarmony官方提供的C/C++三方库交叉编译框架,采用类似Arch Linux PKGBUILD的设计,通过HPKBUILD文件描述库的元数据和构建流程。文章详细说明了构建机环境要求(Ubuntu/macOS/WSL)和必备工具链,并解析了OpenHarmony SDK的关键组
libidn2 是一个用于处理国际化域名(IDN)的C语言库,实现了IDNA2008和TR46标准,支持将非ASCII字符域名转换为ASCII兼容编码。本文介绍了libidn2的核心功能及其在网络应用中的重要性,并详细阐述了在鸿蒙PC命令行工具中移植该库的完整流程。通过交叉编译方式,在x86_64 Linux主机上编译出适配aarch64架构鸿蒙PC的程序,包括环境准备、SDK配置、编译安装等步骤
tiny-AES-c是kokke 维护的轻量级AES-128实现,支持三种模式,接口为纯 C(aes.haes.c),无外部库依赖,适合嵌入式与 OpenHarmony 交叉编译。本适配在lycium体系下提供SHA512SUM等标准产物;在prepare中重写,修正上游错误的头文件搜索路径,并编出静态库 libtiny-aes.a、上游自测程序 tiny_aes_test,通过CTest与设备端
本文是Lycium适配系列的第五篇,通过流程图详细解析了适配者、Lycium框架和OHOS SDK三方的协作机制。适配者负责编写HPKBUILD定义构建逻辑,Lycium框架自动化执行多架构构建流程,OHOS SDK提供交叉编译工具链等基础设施。文章总结了各角色的具体职责:适配者需完成环境搭建、代码适配等8项核心工作;Lycium框架承担环境加载、依赖解析等8项自动化任务;OHOS SDK则提供编
编译工具优先选择Clang/毕昇编译器,避免GCC的兼容性问题;代码层面需解决LINE_MAX未定义、ARM架构关键字适配等鸿蒙特有问题;编译命令添加宏,确保POSIX接口正常使用;运行阶段可通过静态编译、GDB调试、系统服务配置优化程序部署。本文实现的系统信息采集程序可作为鸿蒙PC端C语言开发的基础模板,扩展至硬件驱动调用、系统监控、网络编程等更复杂场景,完全复用Linux的C语言开发经验,无需
有些项目的# 安装库文件# 安装头文件# 安装 pkg-config 文件cd $OLDPWDLycium 构建系统为 OpenHarmony PC 平台的第三方库适配提供了标准化、自动化的解决方案。通过正确编写HPKBUILD✅快速移植:标准化流程减少重复工作✅依赖管理:自动处理库之间的依赖关系✅质量保证:SHA512 校验和测试框架确保质量✅社区协作:统一的格式便于代码审查和维护。
本文介绍了如何在Lycium框架中扩展对Rust三方库的适配支持。通过修改envset.sh、build_hpk.sh、HPKBUILD模板和build.sh四个核心文件,实现了Rust与C/C++库的统一构建流程。关键改进包括:新增Rust交叉编译环境变量设置,建立cargo构建分支,提供Rust适配模板,并完善构建脚本。这些改动使得开发者能够沿用Lycium现有机制完成Rust库的鸿蒙化适配,
以 libmediainfo 为例,从零开始讲解如何在鸿蒙应用中集成和使用 C/C++ 三方动态库。
本文介绍了如何在OpenHarmony系统中适配GIF处理工具gifsicle。主要内容包括:1)遵循tpc_c_cplusplus标准规范,使用Lycium工具链进行交叉编译;2)针对gifsicle需要bootstrap生成configure脚本的特点,在prepare阶段处理;3)提供了完整的HPKBUILD配置文件示例,包含多架构支持、编译参数优化等关键配置;4)说明了设备端测试验证的规范
本系列文章将深入探讨鸿蒙 PC 在文件系统、应用沙箱以及代码签名等层面的底层技术细节。在讨论技术细节之前,我们需要先掌握这项最基础的技能*如何在鸿蒙 PC 本地环境下编译并运行一个简单的 C/C++ 程序。
设备:我使用的MateBook Pro已经升级到6.0.0.115版本,建议升级到该版本以上代码管理工具GitNext,作为代码管理工具下载管理三方库等,下载后可在系统终端中使用(个人推荐),也可以使用界面管理编译工具链DevBox,包含了llvmclangautoconfbashcmakemakeninjahdchnpclim4等编译基础工具,安装后可在系统的终端中使用Python环境Pytho
lycium_plusplus是专为OpenHarmony及鸿蒙PC设计的C/C++编译框架,支持一键构建依赖关系树和多版本库编译。它简化了三方库的编译流程,可生成HNP格式安装包,支持Linux/Windows/macOS交叉编译及鸿蒙PC本机编译(需6.0.0.115+版本)。实验在Ubuntu 22.04环境下完成,通过安装必备工具链、下载OHOS SDK并设置环境变量后,即可使用该框架编译
鸿蒙PC系统6.0.0.115及以上版本通过DevBox工具集已能支持C语言开发。安装DevBox后,终端可直接调用clang编译器、make等工具。本文详细演示了从环境验证、编写Hello World程序到使用CMake构建多文件项目的完整流程。测试表明,鸿蒙PC已具备完善的C语言开发能力,可满足学习和轻量开发需求。开发者无需复杂配置即可快速搭建开发环境,为鸿蒙生态应用开发提供了新选择。
lycium_plusplus(lycium++)提供高效的,支持外部仓导入的鸿蒙三方库交叉编译框架
本文记录了使用命令OHOS_ARCH=aarch64 OHOS_ABI=arm64-v8a sh ./create-hnp.sh构建Libevent 2.1.12的完整过程。首先介绍了Libevent作为高性能网络事件通知库的作用和核心特性,包括事件驱动模型、I/O多路复用封装等。详细说明了构建入口脚本、环境配置、Autotools参数设置以及完整的构建流程。提供了关键日志节点、产物验证方法,并针
本文详细记录了在aarch64架构下构建MPC(多精度复数库)的完整过程。MPC作为高精度复数计算的核心库,提供了任意精度的复数运算功能,是GCC编译器工具链的重要组件。构建过程采用OHOS SDK的LLVM工具链,通过顶层Makefile组织,包含下载解包、配置编译、安装打包等环节。文章重点分析了常见问题及解决方案,包括依赖顺序、网络问题、链接错误等,并提供了详细的产物验证方法。该构建过程为后续
本文详细记录了在aarch64架构下构建GNU MP(GMP)库的完整过程。通过OHOS_ARCH=aarch64 OHOS_ABI=arm64-v8a sh ./create-hnp.sh命令触发构建,涵盖环境配置、工具链设置、关键构建日志和常见问题处理方案。重点解析了GMP作为高性能数学计算核心库的作用,包括其数据类型支持、运算操作、性能优化特性以及在编译器工具链中的关键地位。构建过程涉及下载