我想使用 crate cpp创建一个宏,但是这个 crate 存在宏扩展问题。
语境
crate 通过采用cpp!{ ... }
内联 C 代码的宏,将其内容编译为函数,并用生成的函数替换宏调用来工作。这是通过调用cpp_build::build("src/lib.rs")
.build.rs
问题
正如 crate 的作者所说,cpp!
宏是在宏扩展发生之前编译的。这意味着它将尝试按原样解释宏的参数并在宏声明内部展开。
build.rs
有没有一种方法可以在调用函数之前触发内部特定宏或文件的扩展cpp_build
?