带有库+多个二进制文件的Cargo项目,其中二进制文件由多个文件组成?

问题描述 投票:0回答:1

Cargo 书描述了如何在单个 Cargo 项目中拥有一个库和多个可执行文件

我想要一个由多个源文件组成的可执行文件,这些源文件特定于该可执行文件而不是在库中。

例如

  • 库本身中的 src/lib1.rs、src/lib2.rs、src/lib3.rs,
  • src/bin/exe1.rs + exe1 可执行文件的另一个特定于 exe1 的源文件。

我应该将最后一个源文件放在哪里,以便它不会编译到库中,而是编译到可执行文件中?

rust rust-cargo
1个回答
6
投票

Cargo 支持的在包中为单个二进制文件提供多个源文件的方法是为其提供一个带有

main.rs
的目录。 “Package Layout”的文档给出了这个例子(我已经删除了不相关的元素):

src/
├── lib.rs
└── bin/
    ├── named-executable.rs
    ├── another-executable.rs
    └── multi-file-executable/
        ├── main.rs
        └── some_module.rs

您想要这里的

multi-file-executable
案例。将目录命名为您想要为二进制文件命名的任何名称。然后,您的
main.rs
将包含
mod some_module;
,就像该项目是一个简单的
src/main.rs
项目一样。

© www.soinside.com 2019 - 2024. All rights reserved.