Cargo是Rust编程语言的官方包管理器。
我如何通过板条箱功能有条件地依赖不同版本的依赖项,但又像使用单个依赖项一样使用它?
如何定义一个依赖于具有如下功能的同一板条箱的不同版本的板条箱? [特征] serde_1 = [“dep_serde_1”] serde_1_0_133 = [“dep_serde_1_0_133”...
我想使用这个库:https://github.com/stepfunc/dnp3,但它不在crates.io上,它只有一个存储库,我无法实现它。我尝试将其添加到我的 Cargo.toml 中,例如 [依赖项] d...
我想使用 cfg 和 Cargo 有条件地编译我的源代码, 经过谷歌搜索一段时间后, 看来解决方案是使用货物--features。 http://doc.crates.io/manifest.html 我试过了...
在 Rust 版本中,默认设置为 opt-level = 3。在很多情况下,这不是预期的行为。根据库的不同,这可能会显着增加二进制大小,同时可能会......
当我测试这个时,我使用 Cargo 设置运行了一个测试程序: [简介.发布] 调试=1 我得到了与 debug = 2 完全相同的堆栈跟踪: $ RUST_BACKTRACE=1 货物运行 --release
我试图使用 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 ...