问题标签 [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.
ld - 带有 Rust 的可移植二进制文件
我在构建带有 rust 的可移植可执行文件时遇到问题。
运行cargo build
在 Ubuntu 上简单构建的可执行文件失败
构建时rustc ... -C link-args=-static
无法正确链接(的输出ld ./test
):
除了在具有旧 glibc 版本的旧系统上构建之外,还有其他方法吗?
rust - 如何将已经构建的 rust 库添加到 cargo build 中?
我有一个项目,我们称这个项目为Master。这个主项目依赖于我已经编写的其他库,并且在不同的项目中是分开的,我们称之为这个项目库。
将 git 依赖项或未构建的项目依赖项添加到 rust 中非常简单。但是,如果我想选择已经构建的 Library.librs,告诉 cargo 在编译 Master(输出 Master.exe)时使用它,这样我就可以使用这样的层次结构发布整个程序:
这可以用货物来完成,还是我必须使用带有 -L 参数的 rustc ?如果是这样,究竟如何?感谢您提供任何有用的想法。
rust - 用于库的 Cargo.toml
我想为 rust 创建一个库。这是我的项目的 Cargo.toml 文件:
这是我的存储库的文件:
当我运行命令“cargo run”或“cargo build”或“cargo test”时,我收到以下错误消息:
Cargo.toml 不是有效的清单
期望一个 type 的值
array
,但找到一个table
key的 type 值lib
如何格式化我的 Cargo.toml 以便正确编译?
rust - 货物的多个 Rust 源文件
如果我在一个 Cargo 包.rs
的目录中有多个文件src
,那么可见性、导入等规则是什么?
目前,任何额外的(即不是在 Cargo.toml 中明确标识为可执行文件的源的文件)文件都将被忽略。
我需要做什么来解决这个问题?
logging - 如何在运行货物测试时设置日志记录级别?
我需要在运行库的单元测试时更改日志记录级别。我正在使用该cargo test
命令来运行测试。
有没有办法在命令行上指定日志记录级别?从 log crate 的文档来看,我似乎需要单独定义一个环境变量。这可能不方便,因为我想将日志记录级别更改为仅在测试用例失败时进行调试。
rust - 带有库和二进制文件的 Rust 包?
我想制作一个 Rust 包,其中包含一个可重用的库(大部分程序都在其中实现),以及一个使用它的可执行文件。
假设我没有混淆 Rust 模块系统中的任何语义,我的Cargo.toml
文件应该是什么样的?
rust - 使用 Cargo 构建时,只在 Rust 中显示第一屏编译错误?
有没有办法让 rustc 在使用 Cargo 编译时只输出前几个错误,或者更好的是,最后打印最旧的错误?似乎中止编译的默认阈值设置得相当高:
我没有耐心翻阅 6-10 页的文本来找到第一个错误。
通常我会通过在我的编辑器 (vim) 中编译来处理这个问题,但是 rust 附带的 vim 配置似乎没有正确设置错误格式。
由于某种原因,管道到寻呼机也失败了:
gdb - 如何在 GDB 中调试失败的货物测试?
我的货物测试失败:
如何在 GDB 等调试器中启动失败的测试?
这应该是一个普遍的问题,但对于那些想要追溯我的步骤的人,请安装最近的夜间 Rust 构建并:
rust - 什么是 crate 属性,我在哪里添加它?
为了了解 Rust 的工作原理,我决定研究一个基于终端的小型文本编辑器,称为Iota。我克隆了存储库并运行cargo build
只是被告知:
我应该在哪里添加#![feature(if_let)]
到 crate 属性?
rust - 我如何告诉 Cargo 构建除 main.rs 之外的文件?
这是我的目录结构:
当我运行“货物构建”时,它似乎只构建main.rs
. 我应该如何更改 Cargo.toml 来构建其余文件?