运行 在另一台 Windows 机器上编译 Rust 程序有什么要求?

What is the requirements for running a Rust compiled program on another Windows machine?

我对 Rust 完全陌生。我在我的 Windows 10 机器上安装了 Rust。创建了一个简单的 helloworld 程序,如下所示:

fn main() {
    print!("Hello world!");
}

并用rustc rust.rs编译。之后生成了两个文件:

admin@myserver MINGW64 ~/Documents/rust_test
$ ls -latrh
total 1.6M
drwxr-xr-x 1 admin 197121    0 Sep  2 03:28 ..
-rw-r--r-- 1 admin 197121   45 Sep  4 00:26 rust.rs
-rwxr-xr-x 1 admin 197121 146K Sep  4 00:26 rust.exe
-rw-r--r-- 1 admin 197121 1.5M Sep  4 00:26 rust.pdb
drwxr-xr-x 1 admin 197121    0 Sep  4 00:26 .

我可以成功 运行 rust.exe 并得到正确的结果。但是,当我将 rust.exe 复制到另一个新创建的 Windows 2016 虚拟机并 运行 它时,出现此错误:

我的问题是,在没有安装 Rust 的机器上 运行 Rust 编译程序有什么要求?我是否也需要在其上安装 vc++ build tools(就像我在开发机器上所做的那样)?

您需要安装正确版本的 Microsoft Visual C++ Redistributable Package

你的错误信息中文件名中的“140”表示版本,应该是Visual C++ Redistributable for Visual Studio 2015.


作为快捷方式,以下是其他版本最常用的下载链接:

您还可以通过添加

静态 link CRT
[target.x86_64-pc-windows-msvc]
rustflags = ["-Ctarget-feature=+crt-static", "-Zunstable-options"]

给你的.cargo/config。正如 this Stack Overflow answer.

中指出的

我 运行 遇到了同样的问题,但我通过安装 Microsoft Visual C++ Redistributable 2019 解决了它。你不需要坚持使用 2015。任何更新的版本都可以正常工作。