Skip to content

Latest commit

 

History

History
55 lines (34 loc) · 1.41 KB

File metadata and controls

55 lines (34 loc) · 1.41 KB

Static Linking

Linux

Install musl

musl is needed to enable static linking.

You can use the following instructions to install musl on Debian:

apt install musl-tools

Install rustc target

Then you need to install the corresponding musl rust target (see rustc --print target-list | grep musl):

rustup target add x86_64-unknown-linux-musl

Compile

Then compile with the features that do not require dynamic linking:

cargo build --target=x86_64-unknown-linux-musl --no-default-features --features vendored-openssl,rustls-ring,quic,vendored-c-ares

Windows

Windows provides both dynamic and static C runtimes.

See C runtime (CRT) and C++ standard library (STL) .lib files.

You can change to use a static runtime by setting -C target-feature=+crt-static rustc flag.

See Static and dynamic C runtimes.

Compile with vcpkg

The environment variable VCPKGRS_TRIPLET need to be set to x64-windows-static first.

vcpkg install --triplet=x64-windows-static openssl c-ares
cargo build --no-default-features --features rustls-ring,quic,c-ares

Compile without vcpkg

cargo build --no-default-features --features vendored-openssl,rustls-ring,quic,vendored-c-ares