【问题标题】:What is the requirements for running a Rust compiled program on another Windows machine?在另一台 Windows 机器上运行 Rust 编译的程序有什么要求?
【发布时间】:2019-02-08 17:49:15
【问题描述】:

我对 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(就像我在开发机器上所做的那样)?

【问题讨论】:

  • C++ runtime libraries需要安装正确的版本(“140”表示版本)。
  • 谢谢。我试过了,现在可以了。这不在文档中。再次感谢。
  • @UweKeim,不要在 cmets 中回答问题 ;)

标签: compilation rust requirements


【解决方案1】:

你也可以通过添加静态链接CRT

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

到您的.cargo/config。正如this Stack Overflow answer 中指出的那样。

【讨论】:

    【解决方案2】:

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

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


    作为捷径,以下是其他版本最常见的下载链接:

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-04-09
        • 2017-01-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-01-10
        相关资源
        最近更新 更多