问题标签 [rust-cargo]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
3341 浏览

ld - 带有 Rust 的可移植二进制文件

我在构建带有 rust 的可移植可执行文件时遇到问题。

运行cargo build在 Ubuntu 上简单构建的可执行文件失败

构建时rustc ... -C link-args=-static无法正确链接(的输出ld ./test):

除了在具有旧 glibc 版本的旧系统上构建之外,还有其他方法吗?

0 投票
1 回答
2771 浏览

rust - 如何将已经构建的 rust 库添加到 cargo build 中?

我有一个项目,我们称这个项目为Master。这个主项目依赖于我已经编写的其他库,并且在不同的项目中是分开的,我们称之为这个项目库。

将 git 依赖项或未构建的项目依赖项添加到 rust 中非常简单。但是,如果我想选择已经构建的 Library.librs,告诉 cargo 在编译 Master(输出 Master.exe)时使用它,这样我就可以使用这样的层次结构发布整个程序:

这可以用货物来完成,还是我必须使用带有 -L 参数的 rustc ?如果是这样,究竟如何?感谢您提供任何有用的想法。

0 投票
2 回答
3388 浏览

rust - 用于库的 Cargo.toml

我想为 rust 创建一个库。这是我的项目的 Cargo.toml 文件:

这是我的存储库的文件:

当我运行命令“cargo run”或“cargo build”或“cargo test”时,我收到以下错误消息:

Cargo.toml 不是有效的清单

期望一个 type 的值array,但找到一个table key的 type 值lib

如何格式化我的 Cargo.toml 以便正确编译?

0 投票
3 回答
8580 浏览

rust - 货物的多个 Rust 源文件

如果我在一个 Cargo 包.rs的目录中有多个文件src,那么可见性、导入等规则是什么?

目前,任何额外的(即不是在 Cargo.toml 中明确标识为可执行文件的源的文件)文件都将被忽略。

我需要做什么来解决这个问题?

0 投票
1 回答
7413 浏览

logging - 如何在运行货物测试时设置日志记录级别?

我需要在运行库的单元测试时更改日志记录级别。我正在使用该cargo test命令来运行测试。

有没有办法在命令行上指定日志记录级别?从 log crate 的文档来看,我似乎需要单独定义一个环境变量。这可能不方便,因为我想将日志记录级别更改为仅在测试用例失败时进行调试。

0 投票
4 回答
90670 浏览

rust - 带有库和二进制文件的 Rust 包?

我想制作一个 Rust 包,其中包含一个可重用的库(大部分程序都在其中实现),以及一个使用它的可执行文件。

假设我没有混淆 Rust 模块系统中的任何语义,我的Cargo.toml文件应该是什么样的?

0 投票
1 回答
1968 浏览

rust - 使用 Cargo 构建时,只在 Rust 中显示第一屏编译错误?

有没有办法让 rustc 在使用 Cargo 编译时只输出前几个错误,或者更好的是,最后打印最旧的错误?似乎中止编译的默认阈值设置得相当高:

我没有耐心翻阅 6-10 页的文本来找到第一个错误。

通常我会通过在我的编辑器 (vim) 中编译来处理这个问题,但是 rust 附带的 vim 配置似乎没有正确设置错误格式。

由于某种原因,管道到寻呼机也失败了:

0 投票
1 回答
10764 浏览

gdb - 如何在 GDB 中调试失败的货物测试?

我的货物测试失败:

如何在 GDB 等调试器中启动失败的测试?

这应该是一个普遍的问题,但对于那些想要追溯我的步骤的人,请安装最近的夜间 Rust 构建并:

0 投票
1 回答
29488 浏览

rust - 什么是 crate 属性,我在哪里添加它?

为了了解 Rust 的工作原理,我决定研究一个基于终端的小型文本编辑器,称为Iota。我克隆了存储库并运行cargo build只是被告知:

我应该在哪里添加#![feature(if_let)]到 crate 属性?

0 投票
3 回答
10605 浏览

rust - 我如何告诉 Cargo 构建除 main.rs 之外的文件?

这是我的目录结构:

当我运行“货物构建”时,它似乎只构建main.rs. 我应该如何更改 Cargo.toml 来构建其余文件?