xwin
mxe
xwin | mxe | |
---|---|---|
5 | 9 | |
327 | 1,164 | |
- | 0.9% | |
7.4 | 9.5 | |
about 1 month ago | 3 days ago | |
Rust | Makefile | |
Apache License 2.0 | GNU General Public License v3.0 or later |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
xwin
-
Because cross-compiling binaries for Windows is easier than building natively
There's tooling that mostly avoids this. https://github.com/Jake-Shadle/xwin
This is a utility that fixes a lot of the cross-compiling issues for windows by giving you a portable, unfucked naming, and not-massive SDK. It's the same SDK you get when you install MSVC but it's only a few hundred megs and the names are consistent even with all of Windows' fucked up tooling.
The only caveat is you need to provide your own compiler, in this case clang is often the best option.
-
cargo-xwinbuild v0.3.0 supports cross compile to Windows with CMake dependency
cargo-xwinbuild is a thin wrapper of xwin provides a Cargo subcommand xwinbuild to make cross compiling to Windows MSVC target just work.
-
Announcing cargo-xwinbuild: Cross compile Cargo project to Windows msvc target with ease
This situation bugs me a lot, and I remembered a blog post about the xwin which makes cross compiling Windows binaries from Linux quite easy, but it requires a lot of manual setup. While using Docker containers make it easier, it's also slower.
-
Am I the only one who finds Rust to be centered around Linux? Any Windows devs want to share their experience with Rust?
I will do you one better. When I do windows development, I work within WSL and use the cross-compiler toolchain to generate windows binaries. I have found "Xwin" to be very useful for this: https://github.com/Jake-Shadle/xwin
-
Blog post: Cross compiling Rust Windows binaries from Linux
I've just pushed a 0.1.1 release that fixes this issue, unsure why the windows crate decided to use screaming case in their link names but I'm sure they're not the only ones.
mxe
- MXE (M Cross Environment)
-
Using pybind11 with minGW to cross compile pyhton module for Windows
Cross compiler 64bit minGW along with MXE environment
- Getting “QT with MinGW support”?
-
Because cross-compiling binaries for Windows is easier than building natively
I used to use MXE [1] to compile fully static Windows binaries on Linux VMs hosted with Travis. It needed to crane in everything though, so it was a source of bottlenecks from time to time. I was also uncertain about the provenance of a lot of the dependencies in that toolchain. So when Travis died I took the opportunity to move Windows builds back to gnu with msys2, all over GH Actions. These are actually comparatively snappy and I’m reasonably satisfied with it.
[1] https://mxe.cc/
-
Linux-to-Windows cross-compilation using MSYS2 packages
MXE readily supports GCC 12 as a plugin (just a configuration line): https://github.com/mxe/mxe/tree/master/plugins/gcc12
-
Seer - a new gui frontend to gdb/mi (Updated v1.3)
Also, if you don't have any other significant dependencies, getting the development tools on Windows is not that hard with the Qt installer. Alternatively, there is MXE.
-
Writing code in Linux, but creating a program in windows.
MXE (https://mxe.cc/) is a great cross compiler environment (on linux) that uses mingw.
-
Cross-compilation on a mac
You can install Docker to build on any Linux distro, and if one of those is Ubuntu then you can use https://github.com/mxe/mxe to further build for Windows. Or VirtualBox + Ubuntu + MXE.
What are some alternatives?
cargo-deny - ❌ Cargo plugin for linting your dependencies 🦀
llvm-mingw - An LLVM/Clang/LLD based mingw-w64 toolchain
seer - Seer - a gui frontend to gdb
msvc-llvm-nix
quasi-msys2 - Cross-compile C/C++ from Linux to Windows using MSYS2 packages
music-vibes - Desktop app for translating audio output into vibrations
displaylink-rpm - RPM sources for the DisplayLink USB display adapters
cargo-xwin - Cross compile Cargo project to Windows MSVC target with ease
manylinux - Python wheels that work on any linux (almost)
xlsxwriter-rs - Excel file writer for Rust
glibc_version_header - Build portable Linux binaries without using an ancient distro