1 unstable release
0.1.0+5.1.1-Beta4 | Sep 11, 2024 |
---|
#343 in Windows APIs
Used in 2 crates
(via oldwin-vc-ltl5)
16MB
Contains (static library, 8MB) lib/ucrt.lib, (static library, 6MB) lib/libucrt.lib, (static library, 765KB) lib/libvcruntime.lib, (static library, 1MB) lib/vcruntime.lib
OldWin
OldWin OldWin makes compatibility with Old Windows easier! The crate relies heavily on YY-Thunks and VC-LTL5 to solve the problem of missing APIs on older systems and API-SETs in the import table.
Features
- Effortless Integration: Integrate YY-Thunks and VC-LTL5 just add entry to your
build-dependencies
and modifybuild.rs
. - Backward Compatibility: Effortlessly support Windows XP and later versions.
- Binary Size Optimization: Implement strategies to reduce the footprint of your application binaries.
Usage
1. Add Dependency
Include OldWin in your Cargo.toml
file:
vc-ltl5 is dependent on yy-thunks, so if you use vc-ltl5 yy-thunks will be automatically added.
[dependencies]
# use yy-thunks and vc-ltl5 on Windows 7
oldwin = { version = "0.1.0", features = ["win7", "vc-ltl5"] }
2. Switch to {i686, x86_64}-win7-windows-msvc toolchain
Modify your project cargo configuration to use the {x86, x86_64}-win7-windows-msvc toolchain.
rustup component add rust-src
rustup target add i686-win7-windows-msvc
rustup target add x86_64-win7-windows-msvc
[unstable]
build-std = ["core", "alloc", "std", "proc_macro", "test"]
3. Build Your Project
Build your project using the {i686, x86_64}-win7-windows-msvc toolchain.
Remember to use nightly toolchain.
cargo build --target i686-win7-windows-msvc -Zbuild-std
cargo build --target x86_64-win7-windows-msvc -Zbuild-std
Contributing
Contributions of all kinds are welcome, including:
- Issue reporting
- Pull Request submissions
- Documentation improvements
License
OldWin is released under the MIT License.