Build 指定非标准源文件夹
我正在编写一个多语言项目(一个Java库,它通过FFI加载和调用Rust函数),因此我想将代码文件分成几部分。我没有把所有东西都放在Build 指定非标准源文件夹,build,rust,rust-cargo,Build,Rust,Rust Cargo,我正在编写一个多语言项目(一个Java库,它通过FFI加载和调用Rust函数),因此我想将代码文件分成几部分。我没有把所有东西都放在src中,而是制作了src/rust和src/java文件夹。我如何告诉Cargo我的lib.rs文件(以及所有其他源文件)位于src/rust而不是src?此外,我如何告诉它输出到out/rust而不是target?要手动设置lib.rs的路径,您可以在Cargo.toml中创建[lib]部分,并将路径设置为src/rust/lib.rs。相关文件可在此处找到:
src
中,而是制作了src/rust
和src/java
文件夹。我如何告诉Cargo我的lib.rs
文件(以及所有其他源文件)位于src/rust
而不是src
?此外,我如何告诉它输出到out/rust
而不是target
?要手动设置lib.rs
的路径,您可以在Cargo.toml
中创建[lib]
部分,并将路径设置为src/rust/lib.rs
。相关文件可在此处找到:
对于输出,可以将环境变量CARGO\u TARGET\u DIR
设置为out
。相关文件可在此处找到:
或者您可以创建一个.cargo/config
文件(也是一个toml
-文件,但没有文件扩展名),并添加一个[build]
部分,其中键target dir
设置为out
。相关文档可在此处找到:除了src目录外,是否有与货物\目标\目录
等效的目录?我不希望显式地给出所有文件的路径。您只需要指定lib.rs
,不需要指定所有子模块。如果您指的是[bin]
、[test]
和[bench]
目标,那么是的,您需要为每个目标指定一个。