我正在编写一个多语言项目(一个通过 FFI 加载和调用 Rust 函数的 Java 库),所以我想将我的代码文件拆分一些。我没有将所有内容都放在 src
中,而是制作了文件夹 src/rust
和 src/java
。我如何告诉 Cargo 我的 lib.rs
文件(以及所有其他源文件)在 src/rust
而不是 src
中?此外,我如何告诉它输出到 out/rust
而不是 target
?
最佳答案
要手动设置 lib.rs
的路径,您可以在 Cargo.toml
中创建一个 [lib]
部分并设置 path
到 src/rust/lib.rs
。相关文档可在此处找到:http://doc.crates.io/manifest.html#configuring-a-target
对于输出,您可以将环境变量 CARGO_TARGET_DIR
设置为 out
。可在此处找到相关文档:http://doc.crates.io/config.html#environment-variables
或者您可以创建一个 .cargo/config
文件(也是一个 toml
文件,但没有文件扩展名)并添加一个 [build]
部分,键 target-dir
设置为 out
。可在此处找到相关文档:http://doc.crates.io/config.html#configuration-keys
关于build - 指定非标准源文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30922372/