mcpp:plugins 0.2.6 —— 生成的头必须能被单独 include - #366
Merged
Merged
Conversation
`mcpp.rules.spirv` 在两个着色器编译器之间做选择,而这个选择的全部前提是它们产出
**等价的**头。glslc 发的是初始化列表,规则本来就要在外面写声明,顺手写了
`#pragma once` 与 `#include <cstdint>`;glslang 发的是完整的 C 声明,于是规则什么
都不写,而那个文件点名 `uint32_t` 却什么都不 include:
tri_vert.h:3:7: error: 'uint32_t' does not name a type
此前每个能用的消费者都在它前面放了一个 Vulkan 头,所以一个不完整的头读起来一直像是
好的 —— 直到有人第一个 include 它。在一台干净机器上的沙箱里抓到。
两条路现在产出同样的两个文件:编译器写 `<base>.inc`,规则写 `<base>.h`。已有构建
目录原地升级,实测通过。
同时给「每条规则都为本宿主编译过」那个夹具补了它自己的分母:它断言的是「每一条」,
而「每一条」是它 carry 的一张清单,加第七个成员时那条步骤会继续绿。清单现在在构建之前
与包自己的 `[features]` 比一次。
`xim:shaderc` 的精确版本钉这一版不动 —— 等带 cmd 转义修复的 mcpp 发布之后再改回
`>=2026.3`。
两端镜像下载回来逐字节比对,一个 sha256 同时命名两端。
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
mcpp.rules.spirv在两个着色器编译器之间做选择,而这个选择的全部前提是它们产出等价的头。glslc 发的是初始化列表,规则本来就要在外面写声明,顺手写了
#pragma once与#include <cstdint>;glslang 发的是完整的 C 声明,于是规则什么都不写,而那个文件点名
uint32_t却什么都不 include:此前每个能用的消费者都在它前面放了一个 Vulkan 头,所以一个不完整的头读起来一直像是
好的 —— 直到有人第一个 include 它。在一台干净机器上的沙箱里抓到。
两条路现在产出同样的两个文件:编译器写
<base>.inc,规则写<base>.h。已有构建目录原地升级,实测通过。
同时给「每条规则都为本宿主编译过」那个夹具补了它自己的分母:它断言的是「每一条」,
而「每一条」是它 carry 的一张清单,加第七个成员时那条步骤会继续绿。清单现在在构建之前
与包自己的
[features]比一次。xim:shaderc的精确版本钉这一版不动 —— 等带 cmd 转义修复的 mcpp 发布之后再改回>=2026.3。两端镜像下载回来逐字节比对,一个 sha256 同时命名两端。