指定非标准源文件夹
Specify Non-Standard Source Folder
我正在编写一个多语言项目(一个 Java 库,它通过 FFI 加载和调用 Rust 函数),所以我想将我的代码文件分开一点。我没有将所有内容都放在 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
我正在编写一个多语言项目(一个 Java 库,它通过 FFI 加载和调用 Rust 函数),所以我想将我的代码文件分开一点。我没有将所有内容都放在 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