首页 文章
  • 94 votes
     answers
     views

    为什么Rust可执行文件如此庞大?

    刚刚找到Rust并阅读了文档的前两章,我发现他们定义语言的方法和方式特别有趣 . 所以我决定让我的手指湿透,开始使用Hello world ... 我是在Windows 7 x64上完成的,顺便说一句 . fn main() { println!("Hello, world!"); } 发出 cargo build 并在 targets\debug 中查看结果我发现 ...
  • 1 votes
     answers
     views

    是否可以在Rust中的不同源文件中使用模块

    这实际上是一个两部分问题: 我可以在Rust的单独文件中使用单个模块吗? 这是我的文件布局 . 是否可以使用单个 logging 模块并在此模块中定义一组结构/特征,但是在单独的物理文件(logger,sql)中? 如果可能的话,这样的项目可以用当前货物建造吗? 并且,如果可能,我如何在我的应用程序中引用 logging 模块中定义的结构? 我正在使用:rustc 0.12.0-每晚(cf1...
  • 4 votes
     answers
     views

    在Mac OSX上交叉编译到x86_64-unknown-linux-gnu失败

    我尝试将我的一个Rust项目编译到x86_64-unknown-linux-gnu目标: $ cargo build --target=x86_64-unknown-linux-gnu Compiling deployer v0.1.0 (file:///Users/raphael/web/deployer) error: linking with `cc` failed: exit cod...
  • 0 votes
     answers
     views

    Rustup:从Linux到Windows i686的错误交叉编译

    安装了哪些组件 i686-pc-windows-gnu (installed) i686-unknown-linux-gnu (installed) x86_64-pc-windows-gnu (installed) x86_64-unknown-linux-gnu (default) 锈版 rustc 1.17.0-nightly (08230775a 2017-02-24) binary: ...
  • 101 votes
     answers
     views

    Rust程序如何从其Cargo包中访问元数据?

    你如何访问Cargo包's metadata (e.g. version) from the Rust code in the package? In my case, I am building a command line tool that I' d喜欢有一个标准的 --version 标志,我希望实现从 Cargo.toml 读取包的版本,所以我不必在两个地方维护它 . 我可以想象还有其他...
  • 3 votes
     answers
     views

    如何在Nix环境中使macOS框架可用?

    我在macOS 10.13.5上学习编程Rust,我用Nix来控制我的开发环境 . 某些操作(例如包括 jsonwebtoken 库或安装 cargo-watch 模块)会导致构建需要看似未安装的macOS框架 . 我收到此错误消息: = note: ld: framework not found CoreServices clang-5.0: error: linker co...
  • 0 votes
     answers
     views

    使用Cargo在顶部提供较低级别的板条箱

    前言:我有点运气 . 我实际上一直在和Cargo经理一起苦苦挣扎,我一直希望它像 C 中的一个简单的 include 声明,但它当然没有那么简单 . 如果您对如何更好地构建此项目有意见,请分享它们 . 假设我在Rust中有一个用Cargo管理的库 . 该包名为 point ,目录如下所示 . point/ ├── Cargo.lock ├── Cargo.toml ├── src    └── ...
  • 3 votes
     answers
     views

    无法找到[build-dependencies]部分中列出的crate

    我尝试使用命令 cargo build 编译我的项目 . build.rs extern crate csv; use std::path::Path; use std::fs::OpenOptions; use std::io::BufWriter; use std::io::Write; #[allow(non_snake_case)] fn processCSV(filename: &a...
  • 4 votes
     answers
     views

    在Amazon Linux上静态链接ffmpeg-sys失败,未定义引用

    我的项目取决于配置为静态构建的 ffmpeg-sys crate,如下所示: [dependencies.ffmpeg-sys] version = "3.4.1" default-features = false features = ["avcodec", "avformat", "swresample", &q...
  • 1 votes
     answers
     views

    货物兰特编译错误

    这是一个非常基本的问题,请耐心等待 . 我有一个项目需要使用旧版Rust(货物0.19.0-夜间c995e9e 2017-03-17) . 它使用 rand 所以我添加了 rand="0.4.3" 作为依赖项 . 当注册表更新时, rand 0.5.5 (最新)会自动下载,并且它也会遇到"break loop"错误,该错误在前一段时间内已经稳定下来 . 我不...
  • 2 votes
     answers
     views

    静态链接使用regex_macros的二进制文件

    我刚刚意识到当我使用 regex_macros 箱时,通过Cargo创建的Rust二进制文件是动态链接的 . 这有点问题,因为当我更新到更新版本的 regex_macros 时,创建的二进制文件将停止工作 . 有办法吗? 这是一个最小的例子: #![feature(plugin)] #[plugin] extern crate regex_macros; fn main() {} 对此进行编...
  • 4 votes
     answers
     views

    链接到系统库的Rust可执行文件可以正常工作,但库有未解析的引用

    我试图在库中使用Rust的WinRT函数 . 当我创建一个简单的示例程序,它声明外部函数并使用它们编译和链接: extern crate winapi; use winapi::winerror::{HRESULT}; #[repr(C)] pub enum RO_INIT_TYPE { RO_INIT_SINGLETHREADED = 0, RO_INIT_MULTITHREA...
  • 2 votes
     answers
     views

    iOS设备架构交叉编译Rust时缺少标准库组件(Arm7,Armv7)使用Cargo

    我正在使用Cargo为iOS架构构建我的Rust库(i386-apple-ios x86_64-apple-ios armv7-apple-ios armv7s-apple-ios aarch64-apple-ios) . 我在为Armv7和Armv7s iOS设备架构构建时遇到了问题 . 关于丢失标准库组件(例如,memcpy,memset等),我遇到了错误 . 虽然(i386和i686)以及A...
  • 3 votes
     answers
     views

    无法覆盖Rustup工具链以自定义构建iOS工具链

    我正在使用Rust的构建创建自己的工具链 . 我需要这个与iOS架构交叉编译 . 在尝试设置默认工具链或覆盖当前目录的工具链时,我收到有关工具链名称的错误 . 这些是我创建这个新工具链的步骤: 创建Rustup工具链 rustup toolchain link ios $HOME/rustc-ios 覆盖当前目录工具链 rustup override set ios $ rustup ...
  • 1 votes
     answers
     views

    当从Xcode 8内部运行时,由于信号10,货物无法与`cc`链接

    从Xcode 8中的macOS应用程序中运行 cargo 时出现了一个奇怪的错误: Eonil$ cargo clean [~/Temp/repotest1/ag] (master) Eonil$ cargo build Compiling ag v0.1.0 (file:///Users/Eonil/Temp/repotest1/ag) error: linking with `cc` f...
  • 2 votes
     answers
     views

    如何将openssl-sys crate静态链接到共享库?

    我正在使用一个依赖于openssl-sys的库 . 根据文档,如果我将 OPENSSL_STATIC=1 指定为环境变量,OpenSSL将静态链接到共享库输出 . 由于a host of complicated problems,我需要将OpenSSL静态链接到我的共享库输出 . 这是我的 Cargo.toml : [package] name = "api" version ...
  • 1 votes
     answers
     views

    无法使用cairo-rs链接程序:“与`cc`链接失败”和“找不到-lgobject-2.0的库”

    我正在关注this tutorial使用cairo-rs将一些东西绘制成图像 . 当我运行我的代码时,我得到一个非常冗长的错误 . 重要的一点似乎是: linking with "cc" failed: exit code: 1 和 ld: library not found for -lgobject-2.0 clang: error: linker command fa...
  • 0 votes
     answers
     views

    Rust无法找到外壳箱子

    错误:void的extern位置不存在:C:\ Rust Projects \ imap_project \ target \ debug \ deps \ libvoid-9f5065312e4dff17.rlib错误[E0463]:无法找到crate for void - > C:\ Users \ Arndroid.cargo \ registry \ src \ github.c...
  • 1 votes
     answers
     views

    Rust编译模式之间的区别[关闭]

    我是Rust的新手 . 我曾经在Jetbrains IDE中编写了很多代码(当然还有Ideavim),我决定为Rust选择一个Jetbrains IDE,更具体地说是CLion(因为我有时候也要写C) . 如果您不熟悉它,可以在这里处理像Intellij或Pycharm / Rubymine / Android-studio这样的CLion,因为毕竟真正的工作是由LLDB驱动的Rust插件 . 今...
  • 0 votes
     answers
     views

    通用枚举和impl,无法使用

    我是Rust的新手,我试图实现通用的二叉树 . 我使用this code作为枚举和impl的参考 . 这里, use List::*; 似乎是指下面的枚举 . 这是我的树木代码: use BinaryTree::*; enum BinaryTree<T> { Empty, Node(Box<(T, BinaryTree<T>, BinaryTree&...
  • 0 votes
     answers
     views

    如何在不分拣箱子的情况下将#![feature(***)]添加到另一个箱子的属性中?

    每次我看到如下错误: 错误:关联常量是实验性的(参见问题#29646)... = help:将#![feature(associated_consts)]添加到crate属性以启用=注意:此错误源自当前包的外部宏 我将crate分叉并将该功能添加到crate属性中,然后替换我的Cargo.toml中的依赖项: [replace."bitflags:1.0.0"] git =...
  • 0 votes
     answers
     views

    无法访问Internet的计算机上无法编译env_logger 0.3.5:无法在模块'log'中找到函数'set_logger'

    我正在尝试在隔离的网络上编译我的Rust代码 . 完全相同的代码在连接互联网的计算机上编译良好,但在隔离网络中构建 env_logger 时会中断: cargo new project_name; cd project_name; echo 'env_logger = "0.3.5"' >> Cargo.toml; cargo build 哪些输出(原谅错别...
  • 0 votes
     answers
     views

    重构到工作空间结构会导致extern crate导入无效

    我需要我的项目的不同部分使用相同extern crate的不同版本,所以我重构我的Rust项目,通过工作区系统使用this作为指南将其分成多个包 . 这样做会导致我的所有pub extern crate导入无效 . 这篇文章非常类似于我最近创建的那篇文章然后被删除 - 这个版本包含一个最小,完整和可验证的例子 . 这是我的项目结构 workspace_test/ root/ src/ ...

热门问题