Repository navigation
问题备注 #611
Description
Activity
❌ 必须上游,生态侧做不了
┌─────────────────────────────┬───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│ 问题 │ 为什么做不了 │
├─────────────────────────────┼───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ STL#6294 │ 在 里,只有微软能改 │
├─────────────────────────────┼───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ C2:用户仍会撞 STL bug │ #388 的 pin 只保护 CI。描述符无法给 Form A 包打源码补丁,mcpp::cxx_stdlib() 那类开关在被构建包自己的 build program 里,不在描述符里 │
├─────────────────────────────┼───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ HuxerUI#130(8192 缓冲) │ 在 HuxerUI 的 build rules;或要 mcpp 引擎加大缓冲 │
├─────────────────────────────┼───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ HuxerUI#131(graphite2) │ 同上 │
├─────────────────────────────┼───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ license/repo 7 处 │ HuxerUI 的 manifest │
├─────────────────────────────┼───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ NodeExtensionHandle 显式 == │ HuxerUI 源码 │
├─────────────────────────────┼───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ C3:wix 走 pack format │ HuxerUI 的 build.mcpp │
└─────────────────────────────┴───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
未解决问题清单
A. 需要动作的(按紧急度)
A1 · PR #388 待合入 — 阻塞 main 的 CI
mcpplibs/mcpp-index#388 OPEN
合了才能修掉 #385 引入的三个红灯(vulkan、eui-neo-vulkan、vulkan-hpp-module 的 0xC0000135)。现在 main 的 CI 是红的,而且其中 Vulkan 那三个是我上一个 PR 引入的。
A2 · PR #387 待关闭
mcpplibs/mcpp-index#387 OPEN — 临时探针,标了 do-not-merge。它的产出(镜像矩阵)已经喂给 #388 了,#388 合入后应关闭并删分支,否则会留一个能跑的临时 workflow 在仓库里。
A3 · mysql-connector-cpp 在 llvm 腿链接失败 — 尚未上报任何地方
ld.lld: undefined symbol: std::__cxx11::basic_string<...>::_M_create(...)
ld.lld: undefined symbol: std::_Rb_tree_increment(...)
llvm 腿用 libc++,该包 install() 驱动 CMake 时链的是 libstdc++。同仓库的 llamacpp 已有先例——用 mcpp::cxx_stdlib() 按名字拒绝 libc++。这是九个问题里唯一还没落到任何 issue 上的。
B. 已上报、等上游(我这边无法推进)
┌────────────────────┬─────────────────────────────────────┬─────────────────────────────────────────────────────────────────────────────────────┐
│ 编号 │ 问题 │ 状态 │
├────────────────────┼─────────────────────────────────────┼─────────────────────────────────────────────────────────────────────────────────────┤
│ microsoft/STL#6294 │ _Find_vectorized 守卫与实现不一致 │ OPEN,报了近 4 个月,有人请缨修但等维护者指路;最新评论问"会不会回流稳定版 VS"无人回答 │
├────────────────────┼─────────────────────────────────────┼─────────────────────────────────────────────────────────────────────────────────────┤
│ mcpp#606 │ 扫描器读进块注释 │ OPEN,但问题已在 9.11.2 修复,我已评论确认。可以关了 │
├────────────────────┼─────────────────────────────────────┼─────────────────────────────────────────────────────────────────────────────────────┤
│ mcpp#609 │ STL 不兼容的备注 │ OPEN,定位为长期备注,不需要 mcpp 改动 │
├────────────────────┼─────────────────────────────────────┼─────────────────────────────────────────────────────────────────────────────────────┤
│ HuxerUI#130 │ hrc:builtin 44 个文件溢出 8192 缓冲 │ OPEN,只超 45 字节,取决于用户工程路径深度 │
├────────────────────┼─────────────────────────────────────┼─────────────────────────────────────────────────────────────────────────────────────┤
│ HuxerUI#131 │ graphite2 枚举了但没声明,静默跳过 │ OPEN,潜伏;harfbuzz 一旦带 graphite2 重编就炸 │
└────────────────────┴─────────────────────────────────────┴─────────────────────────────────────────────────────────────────────────────────────┘
C. 结构性问题(有记录,无人认领)
C1 · CI 缓存让 xim 包的改动无法被验证
~/.mcpp/registry 整个被缓存(含索引快照),restore-keys 前缀只到 MCPP_VERSION。
实操规则:不动 MCPP_VERSION,xim 包的任何改动都无法在 mcpp-index 的 CI 里验证。 这一轮里它让两次 wix 修复看起来都失败了。我只是绕过去(移 pin 顺带冲掉缓存),设计本身没改,只写进了设计文档 §11。
C2 · windows-2025 + toolset 双钉是缓解,不是修复
#388 让 CI 绿,但任何用户用 clang 配当前 MSVC STL 构建 HuxerUI 都照样撞上。摘掉这个 pin 的
C3 · wix 应该走 mcpp pack --format msi
provides_pack_format 机制比 HuxerUI v0.3.0 晚发布不到 3 小时,所以 v0.3.0 用的是 [xlings.wo。已记进设计文档 §12,需要 0.3.1 才能落地。
D. HuxerUI 上游待办(你说过之后处理)
E. 小事