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

3

7

I'm totally new to Rust. I installed Rust on my Windows 10 machine. Created a simple helloworld program like this:

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

And compiled it with rustc rust.rs. After that there are two files generated:

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 .

I can successfully run rust.exe and get the proper result. However, when I copy rust.exe to another newly created Windows 2016 virtual machine and run it, I got this error:

enter image description here

My question is, what's the requirement to run a Rust compiled program on a machine that doesn't have Rust installed? Do I need to install the vc++ build tools on it too (just as I did on the development machine)?

Hausa answered 3/9, 2018 at 16:44 Comment(3)
You need to install the C++ runtime libraries in the correct version (the „140“ indicates the version).Gerson
Thanks. I tried and it works now. This isn't on the documentation. Thanks again.Hausa
@UweKeim, don't answer questions in comments ;)Sold
G
4

You need to install the Microsoft Visual C++ Redistributable Package in the correct version.

The "140" in the file name in your error message indicates the version, which should be the Visual C++ Redistributable for Visual Studio 2015.


As a shortcut, here are the most common dowload links for other versions:

Gerson answered 4/9, 2018 at 6:29 Comment(0)
A
7

You can also statically link the CRT by adding

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

to your .cargo/config. As pointed out in this Stack Overflow answer.

Astern answered 4/9, 2018 at 12:41 Comment(0)
G
4

You need to install the Microsoft Visual C++ Redistributable Package in the correct version.

The "140" in the file name in your error message indicates the version, which should be the Visual C++ Redistributable for Visual Studio 2015.


As a shortcut, here are the most common dowload links for other versions:

Gerson answered 4/9, 2018 at 6:29 Comment(0)
S
0

I ran into the same problem but I resolved it by installing Microsoft Visual C++ Redistributable 2019. You do not need to stick with 2015. Any newer version will work just fine.

Sistrunk answered 23/8, 2021 at 23:25 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.