我正在编写一个多语言项目(一个通过FFI加载和调用Rust函数的Java库),所以我想把我的代码文件分开一点。我没有将所有内容都放在src
中,而是创建了文件夹src/rust
和src/java
。如何告诉Cargo我的lib.rs
文件(以及我的所有其他源文件)都在src/rust
而不是src
?另外,如何告诉它输出到out/rust
而不是target
?
答案 0 :(得分:4)
要手动设置lib.rs
的路径,您可以在[lib]
中创建Cargo.toml
部分,并将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
设置为{ {1}}。相关文档可在此处找到:http://doc.crates.io/config.html#configuration-keys