Skip to content

ChrisDenton/static_vcruntime

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Statically link the VCRuntime when using the MSVC toolchain.

By default, Rust requires programs to deploy vcruntime140.dll (or equivalent) when redistributing binaries. This crate statically links the library instead.

Usage

Add this to your Cargo.toml:

[build-dependencies]
static_vcruntime = "2.0"

And in your build script:

fn main() {
    static_vcruntime::metabuild();
}

That is all. Then when you build a release binary, the runtime will be statically linked:

cargo build --release

Issues

If you have problems then you may need to clean the build directory before rebuilding:

cargo clean

If all else fails then, in the same directory as your Cargo.toml, create a folder called .cargo. In that folder create the file config.toml and add the following:

[target.'cfg(all(windows, target_env = "msvc"))']
rustflags = ["-C", "target-feature=+crt-static"]

This makes it easier to override the defaults.

About

Statically link the vcruntime

Resources

License

Unknown and 3 other licenses found

Licenses found

Unknown
LICENSE
Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT
Zlib
LICENSE-ZLIB

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages