GCC 16上架鸿蒙PC,ohos-sdk的LLVM还停在15:三套工具链不能混用的9月,底层开发者的上手路线一次说清

源自192位全网作者

18:02

上个月你要是在群里说"鸿蒙PC写不了C代码",一堆人会点头。这个月再说,就得先看一眼日历了:9月18日,GCC 16和LLVM 23进入Harmonybrew核心仓库,鸿蒙PC上缺GCC这个老大难问题,被社区自己动手填掉了。知乎

但先别急着下单MateBook。这次更新里真正值得底层开发者花时间搞清楚的,不是"GCC能不能用",而是三套工具链的边界划在哪、坑埋在文件系统还是libc、以及官方工具链和社区方案谁向谁收敛。这些信息散在知乎专栏、B站视频和微博报道里,我把它拼成一张完整的图。

一、这半年社区到底干了什么:一条时间线

把散落的事件按时间排开,你会发现鸿蒙PC的开发环境是这半年被一点点"野生长"出来的,主力不是华为。

  • 5月下旬,Homebrew的鸿蒙移植版Harmonybrew正式上线,作者特意强调项目"免于与硬件厂商强绑定",不止服务鸿蒙PC,还覆盖鸿蒙开发板、鸿蒙容器这类安全规格更开放的环境。知乎

  • 6月的华为开发者大会HDC上,鸿蒙PC包管理器HarmonyBrew已经支持4763条常用命令的安装卸载,社区项目被摆到了官方场合的台面上。IT之家

  • 8月下旬,rustup、uv、nvm、fnm四个主流环境管理器完成鸿蒙适配收录进Harmonybrew,大部分适配工作由同一位社区开发者完成。知乎

  • 9月18日,GCC 16与LLVM 23进入核心仓库,用原文的话说,现在很少有项目编译不过。知乎

B站那边的进度是另一条线:6月有人在鸿蒙PC上跑通了dotnet开发环境,8月基于VSCodium的MKCode上架,跑Windows应用的"纳百窗"(鸿蒙版Wine)也进了应用市场,用于在鸿蒙PC和Pad上运行Windows应用。 9月还有个很圈层的话题:有人发现鸿蒙自带的HiShell里能装agent工具,专门发了条视频反驳"鸿蒙PC没法装agent"的说法。哔哩哔哩

一句话总结:官方SDK管应用开发,命令行和编译器生态基本是社区在填。

GCC 16上架鸿蒙PC,ohos-sdk的LLVM还停在15:三套工具链不能混用的9月,底层开发者的上手路线一次说清

二、三套工具链,各管一摊,混用必炸

现在Harmonybrew仓库里有三套C/C++编译工具链,这是这次更新里最需要搞清楚的部分。

第一套:ohos-sdk。 OpenHarmony社区深度适配的官方工具链,Harmonybrew首推,最省事的装法是通过devel-base一键引入整套编译环境。但它的问题是版本:SDK里的LLVM至今停在LLVM 15,这正是过去大量开源软件移植不了鸿蒙的根源,很多依赖新C/C++标准的项目直接卡死。知乎

GCC 16上架鸿蒙PC,ohos-sdk的LLVM还停在15:三套工具链不能混用的9月,底层开发者的上手路线一次说清

第二套:独立安装的llvm(LLVM 23)。 和ohos-sdk冲突,两者都提供clang命令,同时装Homebrew会直接报错拦截。更关键的是,LLVM 23和SDK里的LLVM 15版本差距太大,运行时库互不兼容,无法链接到系统的运行时库,所以这版llvm默认静态链接所有运行时库,完全不提供动态运行时库。知乎

第三套:gcc(GCC 16)。 级联依赖binutils并默认用它的ld做链接器。社区给这个ld打了个自动签名补丁——由它生成的ELF文件默认带代码签名,编出来的程序可以直接在鸿蒙PC上跑,不用再拿binary-sign-tool手动签。知乎

规则很硬:三套工具链的产物不能互相链接,不能在同一进程内混用,否则极易因运行时库冲突引发隐蔽崩溃,同一时间只保留一套。 做过交叉编译的老手会立刻意识到这意味着什么:换工具链不是换个编译器命令,是整条构建产物的边界。知乎

另外两个容易踩的细节:程序依赖的libgcc、libstdc++等运行时库默认从gcc安装目录读(编译器自动设rpath,这是上游Homebrew的行为,不是鸿蒙定制);而llvm那套只支持静态运行时库。

三、真正的坑在文件系统和libc,不在编译器

工具链齐了,不等于编译就能过。两个坑是系统底层的。

hmdfs。 HiShell默认的TMPDIR和当前目录都承载在hmdfs(鸿蒙的分布式文件系统)上,官方文章自己承认可能因文件系统缺陷导致编译失败。 也就是说,编译到一半莫名挂掉,先怀疑文件系统,再怀疑代码。对策是把编译目录挪出hmdfs。知乎

musl libc。 鸿蒙用的是修改版musl libc,不是glibc,标准库路径是/system/lib/ld-musl-aarch64.so.1。 这带来两层影响:一是依赖glibc特有行为的开源软件需要改;二是musl本身符号不全,Harmonybrew专门做了musl-compat垫片库来补充缺失符号,目前主要供python@3.13/3.14这些formula使用。 再往深一层,这个musl选型还牵出过SoC兼容问题——有开发者提到闭源Android BSP链接的是Bionic,与鸿蒙的修改版musl libc不兼容,这解释了为什么很多二线芯片跑不了完整鸿蒙。知乎知乎知乎

顺带一提环境本身:B站上"AI修了一天鸿蒙环境,最后怪我用户名是中文"、"AI说5分钟装好鸿蒙环境,结果我折腾到晚上11点"这类视频,9月还在批量出现。 环境问题目前是高频坑,不是个例。哔哩哔哩

四、"排斥Linux生态"吵起来了:两边的论据都摆一下

工具链补齐的同时,知乎上冒出一个35万浏览的问题:"为什么鸿蒙PC要排斥Linux的开源生态?"有回答观察到,OpenHarmony的做法是在Linux内核的基础上用微内核包了一层、不让直接跟内核交互,还把glibc给换掉了,担心这是要走Android那条封闭路线。知乎

正方(支持绕开Linux生态)的论据很实在:arm64的Linux上"修了上万个bug还根本修不完",内核到2026年还在往外冒严重级CVE,发这条的回答者原话是——所谓linux生态其实本身也是枷锁。 这条回答还把glibc的bug调侃成"人类修到22世纪都不可能修完"。知乎

反方的论据同样实在:PC不是手机,桌面用户对开源生态的依赖是刚性的,拒Linux生态等于拒掉现成的软件池。还有人提出第三条路:走wasm应用层生态,觉得生态基本快成熟了、安全性更高,也不需要内核扩展namespace。知乎

我不替任何一边下结论——这个争论的本质是"安全边界"和"生态复用"的取舍,两边都有真实成本。但对底层开发者有个可操作的中性判断:不管争论结果如何,musl、代码签名、hmdfs这三样是当下就必须面对的现实。

五、谁现在该上手,谁再等等

该上手的: 公司有鸿蒙适配任务、或手里有依赖新C/C++标准的开源项目要移植的。现在确实过了"能用"的门槛:ohos-sdk做主链路,Harmonybrew补工具链,Harmonybrew本机装好依赖后默认会将CC和CXX指向SDK中的Clang。 先在HiShell里把devel-base装好,再用独立gcc处理SDK编译器啃不动的项目,注意别三套混装。知乎

可以再等等的: 想拿鸿蒙PC当唯一主力开发机的。命令行体验在快速逼近Linux/macOS,但环境问题(中文用户名、hmdfs、运行时库)还处于"每个坑都要自己踩一遍"的阶段,第二台机器的需求暂时别指望它全包。

持续观察的信号有三个: ohos-sdk的LLVM会不会从15升上来(官方工具链与社区工具链谁收敛谁);musl-compat这类垫片是社区维护还是被官方收编;"纳百窗"这类兼容层的更新频率。这三个信号任何一个有变化,都值得重新评估上手时机。

顺带一提,硬件侧也开始有针对开发者的动作了:深开鸿上线了开鸿BotBook,一台专为开源鸿蒙开发者打造的电脑。微博

GCC 16上架鸿蒙PC,ohos-sdk的LLVM还停在15:三套工具链不能混用的9月,底层开发者的上手路线一次说清

这半年鸿蒙PC开发环境的进步,绝大部分是社区用Homebrew的移植思路硬凿出来的。这种"官方管应用、社区管底层"的双轨结构能跑多远,可能比"鸿蒙PC能不能写代码"本身更值得底层开发者持续盯着。你如果在鸿蒙PC上踩过别的坑,评论区补一笔,这张图大家一起画。

内容由AI生成

精选参考来源

1. Harmonybrew仓库中的gcc(GCC16)和llvm(LLVM23)已经可用

2. Harmonybrew(Homebrew的鸿蒙移植版本)已正式上线

3. 鸿蒙PC包管理器HarmonyBrew已支持4763条常用命令安装/卸载

4. 几个主流的环境管理器(rustup、uv、nvm、fnm)已经在鸿蒙PC上可用

5. 鸿蒙PC终于能用上GCC编译器了:Harmonybrew上的GCC16与LLVM23

6. 鸿蒙版Wine已上架,你们期待的“Win易通”第一版来了!

7. 鸿蒙操作系统的内核也是自研的吗?

8. 如何看待OpenHarmony开源,但目前还无其他手机厂商入局?

9. AI修了一天鸿蒙环境,最后怪我用户名是中文

10. 为什么鸿蒙PC要排斥Linux的开源生态?

11. 为什么鸿蒙PC要排斥Linux的开源生态?(回答)

12. 为什么鸿蒙PC要排斥Linux的开源生态?(回答)

13. Node.js三方库移植到OpenHarmony鸿蒙PC:一篇实操指南

14. 开鸿BotBook,专为开源鸿蒙开发者打造的电脑

15. 华为MateBook Pro S全新“小艺任务”

16. 华为官宣全新鸿蒙折叠电脑

0
扫一下,分享更方便,购买更轻松
0评论

当前文章无评论,是时候发表评论了
提示信息

取消
确认
评论举报

最新文章 热门文章