18得票2回答
如何使用Cargo运行项目示例?

我尝试运行该项目的示例代码。按照Cargo文档上的说明,我进行了以下操作:git clone https://github.com/basiliscos/rust-procol-ftp-client cd rust-procol-ftp-client cargo run cargo test...

21得票3回答
如何根据操作系统家族有不同的依赖关系

我正在编写一个跨平台库,其中包含针对特定平台的依赖项,一个用于类Unix平台,另一个用于Windows。这些crate只能在特定平台上编译,因此我不能像通常那样将它们全部添加到依赖项中。 在实际的rust代码中,我使用cfg属性,例如 #[cfg(unix)],为某些平台上的特定代码进行编译...

31得票3回答
为什么一个货物包只能有一个库目标?

根据其手册, Cargo包可以有多个可执行目标,但只允许一个库目标。 一个包可以包含零个或一个库crate和任意数量的二进制crate。包中必须至少有一个crate(库或二进制)。 为什么限制为一个?这样做的原因和好处是什么?

10得票1回答
如何在Cargo.toml中针对不同平台启用特定功能?

如何在Cargo.toml配置中针对不同平台启用Crate功能?我尝试了两种方法,但均不起作用。 方法1: [target.'cfg(windows)'.dependencies.rusqlite] version = "0.19.0" features = ["bundled"] [t...

9得票1回答
如何防止Cargo将带有不同功能的相同依赖项合并?

在解决了相同代码的cargo构建:虚假编译时错误?之后,我想知道如何预防这样的问题: $ cargo new feature_merge $ cargo add nmea $ cargo check > /dev/null 2>&1 && echo "su...

7得票2回答
如何使运行 Cargo 构建脚本成为可选项?

我有一个Rust项目,它生成一个动态(cdylib)库。该项目使用cbindgen构建脚本来创建相应的C头文件,匹配库的导出函数。Cargo.toml看起来像这样: [package] name = "example" version = "0.1.0" authors = ["Me &lt...

11得票2回答
当两个字符串不相等时,assert_eq宏是否可以显示差异?

我正在为语言分词器编写一些测试,我将利用一个序列化的JSON版本来比较分词器所生成的分词结果与已知好的分词结果。因此我有一些这样的测试:#[test] fn test_tokenize() { let actual_token_json = /* string */; let ...

49得票2回答
如何启用 Rust 中的“crate feature”?

我正尝试使用rand::SmallRng。文档中写道: 这个PRNG是特征门控的:需要启用箱子特征small_rng才能使用。 我一直在搜索中,但找不到如何启用“箱子特征”的方法。甚至在Rust文档中都没有提到此短语。这是我最好的理解:[features] default = [&quot...

8得票1回答
如何在运行特定测试时抑制 cargo test 的空输出?

在跟进问答:如何在Rust中运行特定的单元测试?之后。 在一个混合了库和二进制文件的项目中使用描述的解决方案cargo test path::to::some_test -- --exact时,如何抑制输出中的所有"0 passed"噪音? 为了演示问题:我通过cargo new test...

14得票1回答
如何使用Cargo下载crate的文档?

在Haskell的Cabal中,可以下载软件包的文档。在Rust的Cargo中是否也可以呢?我在互联网上搜索了一下,但没有找到答案。 在Rust的Cargo中是否也可以下载软件包文档?我在互联网上搜索了一下,但是没有找到答案。