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

7

我是 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虚拟机并运行它时,出现了以下错误:

enter image description here

我的问题是,在没有安装Rust的机器上运行Rust编译的程序需要什么条件?我是否也需要在其中安装vc++构建工具(就像在开发机器上安装的那样)?

3
您需要安装正确版本的C++运行库(“140”表示版本号)。 - Uwe Keim
1
谢谢。我尝试了一下,现在可以了。这在文档中没有提到。再次感谢。 - Just a learner
2
@UweKeim,请不要在评论中回答问题 ;) - hellow
3个回答

7
您可以通过添加以下内容来静态链接CRT:
[target.x86_64-pc-windows-msvc]
rustflags = ["-Ctarget-feature=+crt-static", "-Zunstable-options"]

请将以下内容添加到您的.cargo/config文件中。正如这个Stack Overflow答案所指出的那样。


4
您需要安装正确版本的Microsoft Visual C++可再发行软件包

您错误信息中文件名中的“140”表示版本,应该是Visual Studio 2015的Visual C++可再发行组件


以下是其他版本最常见的下载链接:


0

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接