mpv/DOCS/crosscompile-mingw.txt

53 lines
1.7 KiB
Plaintext
Raw Normal View History

Cross compiling mpv to Windows is supported with MinGW-w64. This can be used to
produce both 32 bit and 64 bit executables. MinGW-w64 is available from
http://mingw-w64.sourceforge.net.
You have to run mpv's configure with these arguments:
./configure --enable-cross-compile --target=i686-w64-mingw32
2013-09-08 10:25:20 +00:00
Using mingw-w64-cmake to setup a MinGW-w64 environment is recommended (this will
also build mpv and its dependencies): https://github.com/lachs0r/mingw-w64-cmake
Alternatively, use MXE: http://mxe.cc
Warning: the original MinGW (http://www.mingw.org) is unsupported.
Note that MinGW environments included in Linux distributions are often broken,
outdated and useless, and usually don't use MinGW-w64.
Example with MXE
================
# Download MXE. Note that compiling the required packages requires about 1 GB
2013-09-08 10:25:20 +00:00
# or more!
cd /opt
2013-09-08 10:25:20 +00:00
git clone https://github.com/mxe/mxe
cd mingw
# Edit the MXE target, so that MinGW-w64 for 32 bit targets is built.
echo "MXE_TARGETS := i686-w64-mingw32" > settings.mk
# Build required packages. The following provide a minimum required to build
# mpv. (Not all of the following packages are strictly required.)
make gcc
make ffmpeg
make libass
make jpeg
make pthreads
# Build mpv. The target will be used to automatically select the name of the
# build tools involved (e.g. it will use i686-w64-mingw32-gcc).
git clone https://github.com/mpv-player/mpv.git
cd mpv
export PATH=/opt/mingw/usr/bin/:$PATH
./configure --enable-cross-compile --target=i686-w64-mingw32
make
2013-09-08 10:25:20 +00:00
# This should work. Note however that MXEs ffmpeg package might be very old
# in order to avoid breaking e.g. xine-lib, so you might want to update that
# or build it manually as well.