Skip to content

Compiles Windows resource files (.rc) into a Rust program.

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT
Notifications You must be signed in to change notification settings

FaultyRAM/windres-rs

Repository files navigation

windres-rs

Travis CI Crates.io Docs.rs

windres is a Rust library crate for compiling Windows resource (.rc) files into object files at build time, which are then forwarded to the linker. This allows for embedding icons, version information, native UI data, etc. in binaries compiled from Rust code.

Example

The following example demonstrates how to embed an icon in a binary crate:

// hello-world.rc

1 ICON "hello-world.ico"
// build.rs

extern crate windres;

use windres::Build;

fn main() {
    Build::new().compile("hello-world.rc").unwrap();
}

Usage

You need to install the resource compiler for your target ABI in order for windres to work. Currently the following compilers are supported:

  • windres.exe for GNU targets (included in the mingw-w64 toolchain)
  • rc.exe for MSVC targets (included in the Windows SDK, which can be installed via Visual Studio Installer)

Once the appropriate resource compiler is installed, add windres as a build dependency in Cargo.toml:

[target.'cfg(windows)'.build-dependencies]
windres = "0.2"

Then, create a build script (if you haven't already) and add a reference to windres:

#[cfg(windows)]
extern crate windres;

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

About

Compiles Windows resource files (.rc) into a Rust program.

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Stars

Watchers

Forks

Packages

No packages published

Languages