30得票10回答
如何在Windows开发环境中使用OpenSSL与Rust一起工作

当我在我的cargo文件中添加SSL依赖项时,我无法构建我的Rust项目。这对于Windows来说并不是新问题,但我希望解决这个问题,以便我可以使用PowerShell和本地Windows开发来处理我的Rust项目。 涉及的依赖关系如下: [dependencies.ws] version...

29得票3回答
将Rust应用程序与运行时链接器搜索路径之外的动态库链接

我有一个共享库,希望将其动态链接到多个独立的二进制Cargo应用程序中。使用-- -L /path/to/dir格式在链接器中包含其位置,并且应用编译正确,二进制文件大小也明显减小,符合我的预期。但是,当使用ldd检查生成的二进制文件时,出现了一个消息,指示找不到库:casey@Gilthar...

29得票5回答
将git提交哈希值作为字符串包含在Rust程序中。

我在git存储库中托管了一个Rust项目,希望它在一些命令中能够打印版本号。我该如何将版本包含到程序中?我的想法是构建脚本可以设置环境变量,然后在编译项目时使用这些环境变量,但是这并不起作用: build.rs:use std::env; fn get_git_hash() -> O...

28得票3回答
如何指定自定义的Cargo输出目录?

我把这个放在我的Cargo.toml文件中[build] target-dir = "../my-target" 然而,货运不识别这个键。cargo run --release --bin my_project warning: unused manifest key: ...

28得票2回答
当一个Rust库同时也是可执行文件时,是否应该提交Cargo.lock文件?

我阅读了 https://doc.rust-lang.org/cargo/guide/cargo-toml-vs-cargo-lock.html 如果我理解正确,当我将Cargo.lock提交到我的crate(既是库又是可执行文件)的仓库中,并且发布到crates.io时,下游的crate将忽...

28得票1回答
如何在Cargo.toml中限制测试线程数量?

我有一些测试共享一个资源,不能同时执行。这些测试在使用 cargo test 命令时失败,但在使用 RUST_TEST_THREADS=1 cargo test 命令时工作正常。 我可以修改测试以等待全局互斥锁,但如果有更简单的方法来强制 cargo 为我设置这个环境变量,我就不想使它们混乱。

27得票1回答
目标目录中哪些文件实际上是可执行文件所需的?

在编译我的程序'zagir'之后,发布文件夹的大小超过了200MiB,这对于我编写的程序来说是荒谬的。因此,我试图检查是否只有'zagir'可执行文件在独立运行,结果确实如此。 但困惑的是,发布文件夹还包括libzagir.rlib文件以及.d文件和一堆其他文件夹。 它们究竟是什么? 它...

27得票2回答
有没有办法在Rust库中包含二进制或文本文件?

我正在尝试创建一个库,并想在其中包含一些二进制(或文本)文件,这些文件的数据将在运行时解析。 我的意图是控制这些文件,不断更新它们并在每次更新中更改库的版本。 通过cargo是否可以实现这一点?如果可以,我如何从我的库中访问这些文件? 我想到的一个解决方法是包括一些包含结构体和/或常量(...

27得票2回答
如何在Rust 2018中使用成语地为一个crate创建别名?

我有一个木箱 foo_sys。在 Rust 2015 版本中,为了方便起见,我使用 extern crate foo_sys as foo,但是在 Rust 2018 版本中,不再需要使用 extern crate,而且我不想仅仅为了别名而使用它。当去掉 extern crate 后,我会得到...

27得票2回答
如何在Debian中运行已安装的Rust二进制文件时传递RUST_BACKTRACE=1参数?

当我使用cargo运行一个二进制文件时,我有以下的选项:-bash -c "RUST_BACKTRACE=1 cargo run --bin my_binary" 当二进制文件出现错误时,这会给我提供一个堆栈跟踪。但是当我为相同的二进制文件创建Debian软件包时,如何在发生错误时获取堆栈跟踪...