Skip to content

Commit 1f60c95

Browse files
committed
docs(design): P1 row — the measured reason, not the effort estimate
1 parent 6c1d23c commit 1f60c95

1 file changed

Lines changed: 1 addition & 1 deletion

File tree

.agents/docs/2026-08-17-library-distribution-design.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -904,6 +904,6 @@ bin/libmathkit.dll` —— 依赖循环为一个**已经构建好**的库创建
904904

905905
| # || 说明 |
906906
|---|---|---|
907-
| **P1** | 打包库**不能被原生 `cl.exe` 消费** | 生成的 manifest 用 `-L`/`-l`(GNU 拼写)。**改成写文件路径也不行**:ninja 的链接命令 cwd 是输出目录,只有 include 家族前缀会被相对包根绝对化,无前缀 token 会去错地方找(`ld: cannot find lib/…/libmathkit.a`),而绝对路径就不再可重定位。要补齐需让条件通道承载 `link_library_dirs`/`libraries` —— mcpp 已能按方言渲染,只是只在顶层读 |
907+
| **P1** | 打包库**不能被原生 `cl.exe` 消费** | 生成的 manifest 用 `-L`/`-l`(GNU 拼写)。**改成写文件路径也不行**:ninja 的链接命令 cwd 是输出目录,只有 include 家族前缀会被相对包根绝对化,无前缀 token 会去错地方找(`ld: cannot find lib/…/libmathkit.a`),而绝对路径就不再可重定位。**实测**:旧版 mcpp 读到 `[target.'cfg(…)'.runtime]` **不报错、静默忽略** ⇒ 把某条腿的链接 flag 挪到方言中立通道,会让**旧客户端一个 flag 都拿不到**。所以补齐它要么**两种拼写都带**(新客户端把库链两遍),要么给这类包**版本下限** —— 不是工作量问题,是与「零新键 + 老客户端可用」这两条约束直接冲突 |
908908
| **P2** | MSVC 的 `kind = "shared"` | 要生成 `.def`(对对象做符号扫描)—— 那是一个构建图节点,不是 flag |
909909
| **P3** | 扫描器改动的 revert 粒度 | O1 的代价,按裁决接受 |

0 commit comments

Comments
 (0)