1
0
Fork
You've already forked mxe
0
MXE (M cross environment)
Makefile 76.6%
C 7%
CMake 5.4%
Shell 3.5%
Lua 3.3%
Other 4.2%
Find a file
2025年08月03日 09:55:28 +02:00
.github build docs only on mxe/mxe 2022年04月09日 23:24:04 +10:00
docs Update packages.json & build-matrix.html 2025年07月17日 17:07:46 +00:00
ext Update config.guess and gsml 2024年04月19日 11:14:39 +00:00
plugins gcc12: update to release 12.5.0 2025年07月11日 10:03:19 +02:00
src add taglib2 2025年08月03日 09:55:28 +02:00
tools copydlldeps.sh: Fix --infile processing 2024年10月30日 09:38:52 +00:00
.gitattributes package sfml: fix line endings and convert patches to git format 2013年07月06日 18:54:03 +10:00
.gitignore Improve git ignore 2022年04月03日 18:08:02 +10:00
build.sh build.sh: add requirements for Strawberry 2025年08月03日 09:55:28 +02:00
build_in_background.sh build.sh: script for building MKVToolNix-required packages 2025年08月03日 09:55:27 +02:00
LICENSE.md Secure URLs 2018年07月31日 22:49:26 +10:00
Makefile Fix wine-fail workaround 2025年04月29日 06:45:12 +00:00
mxe.github.mk make update: handle semicolon in github tag parsing 2020年05月15日 11:28:41 +02:00
mxe.patch.mk patch-tool-mxe: provide message when calling "git tag" 2022年01月13日 18:18:03 +00:00
mxe.updates.mk fix SKIP_CHECKSUM typo 2020年10月16日 19:32:55 +11:00
README.md Improve readme 2022年04月03日 18:08:02 +10:00

MXE (M cross environment)

License

Async Chat (Trial))

MXE (M cross environment) is a GNU Makefile that compiles a cross compiler and cross compiles many free libraries such as SDL and Qt. Thus, it provides a nice cross compiling environment for various target platforms, which:

  • is designed to run on any Unix system
  • is easy to adapt and to extend
  • builds many free libraries in addition to the cross compiler
  • can also build just a subset of the packages, and automatically builds their dependencies
  • downloads all needed packages and verifies them by their checksums
  • is able to update the version numbers of all packages automatically
  • directly uses source packages, thus ensuring the whole build mechanism is transparent
  • allows inter-package and intra-package parallel builds whenever possible
  • bundles ccache to speed up repeated builds
  • integrates well with autotools, cmake, qmake, and hand-written makefiles.
  • has been in continuous development since 2007 and is used by several projects

Supported Toolchains

  • Runtime: MinGW-w64
  • Host Triplets:
    • i686-w64-mingw32
    • x86_64-w64-mingw32
  • Packages:
    • static
    • shared
  • GCC Threading Libraries (winpthreads is always available):
  • GCC Exception Handling:

Please see mxe.cc for further information and package support matrix.

Build Dependencies

For some packages additional dependencies are required to be installed in order to build:

  • Python 3

Usage

You can use the make command to start the build.

Below an example of cross-compiling the GTK3 project to one statically linked Windows 64-bit library:

make gtk3 -j 8 MXE_TARGETS='x86_64-w64-mingw32.static'

Please see mxe.cc for more information about how-to build the MXE project.

Packages

Within the MXE makefiles we either define $(PKG)_GH_CONF or $(PKG)_URL, which will be used to download the package.
Next the checksum will be validated of the downloaded archive file (sha256 checksum).

Updating a package or updating checksum is all possible using the make commands, see usage for more info.

Shared Library Notes

There are several approaches to recursively finding DLL dependencies (alphabetical list):