Lines Matching +full:windows +full:- +full:msvc
1 \input texinfo @c -*- texinfo -*-
2 @documentencoding UTF-8
13 @chapter Unix-like
21 $(gcc -print-prog-name=as) --version
25 hard-coded path to gas. In the worst case pass @code{--disable-asm}
32 @code{--enable-pic} during FFmpeg configure) and add the following option
36 -Wl,-Bsymbolic
40 pass the correct linking flag (e.g. @code{-pie}) to @code{--extra-ldexeflags}.
50 standard Solaris Make will not work. When building with a non-c99 front-end
51 (gcc, generic suncc) add either @code{--extra-libs=/usr/lib/values-xpg6.o}
52 or @code{--extra-libs=/usr/lib/64/values-xpg6.o} to the configure options
53 since the libc is not c99-compliant by default. The probes performed by
69 @url{https://github.com/FFmpeg/gas-preprocessor} or
70 @url{https://github.com/yuvi/gas-preprocessor}(currently outdated) to build the optimized
83 Using a cross-compiler is preferred for various reasons.
84 @url{http://www.delorie.com/howto/djgpp/linux-x-djgpp.html}
93 @chapter Windows
95 To get help and instructions for building FFmpeg under Windows, check out
96 the FFmpeg Windows Help Forum at @url{http://ffmpeg.zeranoe.com/forum/}.
98 @section Native Windows compilation using MinGW or MinGW-w64
100 FFmpeg can be built to run natively on Windows using the MinGW-w64
101 toolchain. Install the latest versions of MSYS2 and MinGW-w64 from
102 @url{http://msys2.github.io/} and/or @url{http://mingw-w64.sourceforge.net/}.
111 MinGW-w64 environment through @file{mingw64_shell.bat} or
116 Makefile by calling @code{make -r} instead of plain @code{make}. This
117 speed up is close to non-existent for normal one-off builds and is only
122 of @uref{http://www.libsdl.org/, SDL} and @code{pkg-config} installed.
124 @item By using @code{./configure --enable-shared} when configuring FFmpeg,
130 @subsection Native Windows compilation using MSYS2
132 The MSYS2 MinGW-w64 environment provides ready to use toolchains and dependencies
136 the correct MinGW-w64 environment. The default install provides shortcuts to
137 them under @command{MinGW-w64 Win64 Shell} and @command{MinGW-w64 Win32 Shell}.
141 pacman -S make pkgconf diffutils
143 # mingw-w64 packages and toolchains
144 pacman -S mingw-w64-x86_64-nasm mingw-w64-x86_64-gcc mingw-w64-x86_64-SDL2
149 @section Microsoft Visual C++ or Intel C++ Compiler for Windows
151 FFmpeg can be built with MSVC 2013 or later.
168 and @code{INCLUDE} environment variables to include the @strong{Windows-style}
170 @code{--extra-cflags}/@code{--extra-ldflags} configure options.
175 For MSVC:
176 ./configure --toolchain=msvc
179 ./configure --toolchain=icl
185 If you wish to compile shared libraries, add @code{--enable-shared} to your
186 configure options. Note that due to the way MSVC and ICL handle DLL imports and
195 zlib binary from somewhere, with an MSVC import lib, or if you wish to link
197 @code{zlib.lib} with MSVC. Regardless of which method you use, you must still
201 @item Edit @code{win32/Makefile.msc} so that it uses -MT instead of -MD, since
205 @item Run @code{nmake -f win32/Makefile.msc}.
206 @item Move @code{zlib.lib}, @code{zconf.h}, and @code{zlib.h} to somewhere MSVC
222 If you plan to link with MSVC-built static libraries, you will need
224 @code{Multi-threaded (/MT)} in your project's settings.
226 You will need to define @code{inline} to something MSVC understands:
232 an MSVC-compatible @uref{http://code.google.com/p/msinttypes/, inttypes.h}.
259 lib /machine:i386 /def:..\lib\foo-version.def /out:foo.lib
262 Replace @code{foo-version} and @code{foo} with the respective library names.
266 @anchor{Cross compilation for Windows with Linux}
267 @section Cross compilation for Windows with Linux
274 ./configure --target-os=mingw32 --cross-prefix=i386-mingw32msvc-
276 (you can change the cross-prefix according to the prefix chosen for the
289 binutils, gcc4-core, make, git, mingw-runtime, texinfo
300 libogg-devel, libvorbis-devel
307 yasm, libSDL-devel, libgsm-devel, libmp3lame-devel,
308 speex-devel, libtheora-devel, libxvidcore-devel
314 @section Crosscompilation for Windows under Cygwin
316 With Cygwin you can create Windows binaries that do not need the cygwin1.dll.
321 gcc-mingw-core, mingw-runtime, mingw-zlib
328 ./configure --target-os=mingw32 --extra-cflags=-mno-cygwin --extra-libs=-mno-cygwin
333 ./configure --target-os=mingw32 --enable-shared --disable-static --extra-cflags=-mno-cygwin --extra…