使用 Rust 语言编译问题:从“Hello World”开始

Posted

技术标签:

【中文标题】使用 Rust 语言编译问题:从“Hello World”开始【英文标题】:Compiling issues with Rust language: starting with 'Hello World' 【发布时间】:2020-05-17 20:22:52 【问题描述】:

我正在使用一个 up2date Linux Mint 系统,我将它用于许多试错项目。 今天我偶然发现了 Rust,并想尝试一下。

到目前为止一切顺利。安装 Rust 简单易行。

使用建议的方法,设置环境变量并执行更新:

curl https://sh.rustup.rs -sSf | sh source $HOME/.cargo/env rustup update

到目前为止一切顺利,没有错误或其他干扰信号。所以在前面我尝试之后,就像每个人一样,编译“Hello world”示例。在这里它横着走。错误:

...
$ rustc main.rs
error: linking with `cc` failed: exit code: 1
  |
  = note: "cc" "-Wl,--as-needed" "-Wl,-z,noexecstack" "-m64" "-L" [....... ]"-lutil" "-lutil"
  = note: /usr/bin/ld: cannot find Scrt1.o: No such file or directory
          /usr/bin/ld: cannot find crti.o: No such file or directory
          collect2: error: ld returned 1 exit status
...

我的系统已经安装了cc:cc (Ubuntu 7.4.0-1ubuntu1~18.04.1) 7.4.0

有人知道我该如何解决这个问题吗?

【问题讨论】:

欢迎来到 SO!请,如果您有问题,请尝试找出其他人是否有类似的问题以及是否有有用的答案。也许这可以解决您的问题:***.com/questions/6329887/… 或 ***.com/questions/3299511/…。详情请查看***.com/questions/16436035/…。 重复Compiling problems: cannot find crt1.o 【参考方案1】:

我在 Clang 的其他帖子中找到了一个对我有用的答案:Compiling problems: cannot find crt1.o。

Dmitry Pavlenko 给出的答案对我也很有效:

问题是您可能只有当前的 gcc 架构,那是 64 位。您需要 32 位支持文件。为了 那,你需要安装

sudo apt install gcc-multilib

【讨论】:

以上是关于使用 Rust 语言编译问题:从“Hello World”开始的主要内容,如果未能解决你的问题,请参考以下文章

rust编译器教我做人,为啥还要学习rust语言,因为想使用rust做一些底层服务,更深入的研究技术。

Rust语言:基于变量生命周期进行编译时SQL注入防止

rust条件编译

在Windows下安装Rust语言编译环境

在Windows下安装Rust语言编译环境

Rust: 编译器驱动开发