Cargo是Rust编程语言的官方包管理器。
我试图使用 git-ignore-generator 板条箱来更轻松地管理 .gitignore,但现在我陷入困境,因为我已经通过 Cargo add 添加了板条箱,并且无法使用板条箱文档中的命令...
我们可以在crate安装过程中下载一些东西并设置环境变量吗?
作为 Rust 驱动程序箱开发人员,当任何其他 Rust 程序使用我的箱时,我想在安装/下载过程中执行以下步骤: 检查平台,即 Windows 或 UNIX 或 macOS。
在文档中,它说该函数位于 winapi::um::wincrypt::CryptDecrypt 中,但是当我安装板条箱并将其引入我的项目时,一切正常,直到我尝试调用该函数
我使用 include_str!() 从文件中导入字符串并将其传递到 proc_marco 中,但它不起作用。我收到预期的字符串文字错误。这是我的代码: 宏规则! ptcl_层{ () ...
我通过 Cargo 安装程序时遇到错误: ld: 找不到 -lxcb: 没有这样的文件或目录 我似乎缺少图书馆。我使用的是 Ubuntu 22.04。我该如何解决?
在Ubuntu22.04中,似乎缺少库。 我该如何解决呢? ld信息是这样的: ld:模式 elf_x86_64 尝试打开 /usr/local/lib/x86_64-linux-gnu/libxcb.so 失败 一个...
我对 Rust 相当陌生,正在尝试了解如何最好地创建可重用的共享库组件。我有一个名为 rust-libs 的 github 存储库,它被设置为货物工作区。该项目...
如何在 docker 中使用 --config 命令来实现 rust
我在 Rust API 上使用 --config 文件运行开发,是这样的 Cargo run --config dev-config.toml 其中 dev-config.toml 就像我的环境 像这样 [环境] APP_ENV = "
如何让cargo使用另一个路径来编译而不是/tmp(设备上没有剩余空间(操作系统错误28))
我使用的是 Debian 11,带有 LUKS 加密 SSD,我的 /tmp、/var 和 /home 文件夹位于不同的分区中(我不知道为什么在安装时这样做) 我尝试使用 Cargo 安装 deno,它...
我正在尝试创建一个包含库和一个或多个二进制文件的板条箱。我查看了包含库和二进制文件的包?以及关于板条箱和模块的 Rust 书籍部分,但仍在运行
我正在尝试创建一个库,我想在其中包含一些二进制(或文本)文件,这些文件将包含在运行时解析的数据。我的目的是控制这些文件,更新...
我正在尝试使用 rust-http 库,我想使用它作为一个小项目的基础。 我不知道如何使用无法通过 rustpkg install 安装的东西 我正在尝试使用 rust-http 库,并且我想将其用作小项目的基础。 我不知道如何使用无法通过rustpkg install <remote_url>安装的东西。事实上,我今天发现 rustpkg 现已被弃用。 如果我git clone库并运行适当的make命令来构建它,我如何在其他地方使用它? IE。我该如何实际使用extern crate http? 自 Rust 1.0 以来,99% 的用户将使用 Cargo 来管理项目的依赖项。该文档的 TL;DR 是: 使用 cargo new 创建项目 编辑生成的Cargo.toml文件以添加依赖项: [dependencies] old-http = "0.1.0-pre" 在代码中访问板条箱: Rust 2021 和 2018 use old_http::SomeType; 生锈 2015 extern crate old_http; use old_http::SomeType; 使用 cargo build 构建项目 Cargo 将负责管理版本,在需要时构建依赖项,并将正确的参数传递给编译器以将所有依赖项链接在一起。 阅读 Rust 编程语言,了解有关 Cargo 入门的更多详细信息。 Cargo 书中的指定依赖项详细介绍了您可以添加哪些类型的依赖项。 更新 对于现代 Rust,请参阅 this 答案。 原答案 您需要将 -L 标志传递给 rustc 以将包含已编译的 http 库的目录添加到搜索路径。像 rustc -L path-to-cloned-rust-http-repo/build your-source-file.rs 这样的事情应该可以。 教程参考 与您的帖子无关,但与您的标题相关。另外,以货物为基础。 最佳实践: 外部板条箱名为 foo use ::foo; 模块(属于代码/板条箱的一部分)名为 foo use crate::foo; 在这两种情况下,您都可以使用 use foo; 代替,但这可能会导致混乱。 构建完成后,您可以在代码中使用普通的 extern crate http;。唯一的技巧是您需要将适当的 -L 标志传递给 rustc 来告诉它在哪里可以找到 libhttp。 如果您的项目中的 rust-http 目录中有一个子模块,并且它构建到其根目录中(我实际上不知道 make 中的 rust-http 存放生成的库),那么您可以构建自己的子模块使用 rustc -L rust-http pkg.rs 进行项目。使用该 -L 标志,extern crate http; 中的 pkg.rs 行将能够在 libhttp 子文件夹中找到 rust-http。 我遇到了类似的问题。我最终在我的 Cargo.toml 中这样做了 [dependencies] shell = { git = "https://github.com/google/rust-shell" } 然后在我的 main.rs 中我可以添加它并成功编译。 请注意,在我的例子中,这个货物包是一个宏。通常你不希望在外部调用之前有#[macro_use]。 #[macro_use] extern crate shell;
有没有办法为 Cargo 包指定自定义 main.rs/lib.rs 文件?
我想使用 foo.rs/bar.rs 而不是默认的 main.rs/lib.rs 包根文件。 我该如何配置?
Rust 中调用 cdylib crate 函数返回的函数时出现段错误
如果我在 cdylib 箱中有一个 fn(&mut Box),并且它将 Box 的值设置为箱中定义的另一个函数,则在调用结果函数时会出现分段错误。 我
错误:找不到链接器 `x86_64-w64-mingw32-gcc`
我正在使用 MacOS Big Sur,我正在尝试交叉编译到 Windows,但问题是,这个“错误:链接器 x86_64-w64-mingw32-gcc 未找到”阻止我这样做,这是我的 c ...
我使用 include_str!() 从文件中导入 str,我想将其传递到 proc_marco,bug 它不起作用。我从 rustc 收到错误预期字符串文字。 这是我的代码: 宏规则! ptcl_l...
fn render_task_enter_field(标准输出:&mut W) 在哪里 宽:写, { ... } 我需要将此函数添加到向量中。我将迭代它并调用每个函数。 我尝试过Vec fn render_task_enter_field<W>(stdout: &mut W) where W: Write, { ... } 我需要将此函数添加到向量中。我将迭代它并调用每个函数。 我已经尝试过Vec<fn(&mut impl Write)>,但不起作用 你想要这个: Vec<Box<dyn Fn(&dyn Write)->()>> 包含动态类型函数的框向量,该函数采用实现写入的动态对象。 您无法将泛型函数添加到数组中,因为它实际上只是一大堆单独的函数,但您可以让它采用特征对象作为参数来获得相同的效果。 完整示例: use std::io::Write; fn render_task_enter_field(stdout: &dyn Write) { } fn main() { let mut k:Vec<Box<dyn Fn(&dyn Write)->()>> = vec![]; k.push(Box::new(render_task_enter_field)); }
我有一个多工作空间货运项目: 命令行/ 服务器/ 测试/ Cargo.toml 在父 Cargo.toml 中 [工作空间] 成员=[ “服务器”, “cli”, “测试”, ] 解析器 = ...
我使用cargo build --release 在发布配置中构建我的项目,并使用cargo test 来构建和运行我的测试。 但是,我还想在发布模式下构建我的测试;我们可以做到吗...
我有一个 Rust 项目,其结构如下: - main_crate(功能=“x”) - driver_crate(功能=“x”) - x_crate ... ... 在我的 main_crate 中,我有一个功能...