mirror of
https://github.com/mpv-player/mpv
synced 2024-12-30 11:02:10 +00:00
8c7ea10873
The instructions hardcode some paths, so it sure would be better if the listed commands actually use this path.
53 lines
1.7 KiB
Plaintext
53 lines
1.7 KiB
Plaintext
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:
|
||
DEST_OS=win32 TARGET=i686-w64-mingw32 ./waf configure
|
||
|
||
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
|
||
# or more!
|
||
|
||
cd /opt
|
||
git clone https://github.com/mxe/mxe mingw
|
||
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
|
||
DEST_OS=win32 TARGET=i686-w64-mingw32 ./waf configure
|
||
./waf build
|
||
|
||
# This should work. Note however that MXE’s 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.
|