如何告诉Cargo在使用include_bytes宏包含的文件发生更改时进行重建?

7
我在使用include_bytes!宏将GLSL着色器编译为Rust程序。但是,似乎Cargo并不知道这一点:当我仅修改着色器文件并使用测试时,更新的文件未被编译。手动触摸包含着色器的<.rs>文件确实有效。
我需要在中添加一些内容来明确声明此依赖关系吗?
版本信息:
$ rustc --version && cargo --version
rustc 1.0.0-nightly (ecf8c64e1 2015-03-21) (built 2015-03-22)
cargo 0.0.1-pre-nightly (e689383 2015-03-16) (built 2015-03-16)
2个回答

4

1
货物目前无法将文件添加到“监视”文件更改列表中。它不会知道使用include_bytes!包含的文件,因为这将涉及特别处理该宏。

谢谢。这个问题值得在某个地方报告吗? - Nicholas Bishop
1
@NicholasBishop,当然,你可以在Cargo问题跟踪器上提出任何像这样合理的建议。 - Vladimir Matveev
嗯,情况有点复杂。我正在组织一个最小化的测试来记录这个问题,并注意到include_str宏似乎做了正确的事情,而include_bytes则没有。我可能错过了一些明显的东西,但我会深入挖掘并看看是否能找出区别。 - Nicholas Bishop
1
@NicholasBishop,你有没有提交那个你要提交的错误报告?你找出来为什么修改一个被include_str!包含的文件会导致重新编译了吗? - kmky
我还没有提交这个错误报告,谢谢你提醒我。现在已经提交了:https://github.com/rust-lang/cargo/issues/1510 - Nicholas Bishop

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接