Here's how: http://ffmpeg.zeranoe.com/forum/mcp.php?i=main&mode=topic_view&f=19&t=459&sid=3b427270937ecfcd8f2e57a34a5213e2
BEST ONE: http://ffmpeg.zeranoe.com/forum/viewtopic.php?f=19&t=459
download script/run from http://ffmpeg.zeranoe.com/blog/
Then add mingw-w64-i686/bin to your path
Then checkout FFMpeg source, then cd into it and run:
./configure --enable-memalign-hack --arch=x86 --target-os=mingw32 --cross-prefix=i686-w64-mingw32- --pkg-config=pkg-config
The key here is the cross-prefix fella...that will change search for the file *gcc and see what your prefix should be.
make sure that bin ... location is in your path, too, I suppose (it should already be...)
more details:http://ffmpeg.zeranoe.com/forum/viewtopic.php?p=246#p246
Also you next should run "make" then look for an ffmpeg.exe output file.
i686-mingw32-gcc is unable to create an executable file.
C compiler test failed.
If you think configure made a mistake, make sure you are using the latest
version from Git. If the latest version fails, report the problem to the
ffmpeg-user@ffmpeg.org mailing list or IRC #ffmpeg on irc.freenode.net.
Include the log file “config.log” produced by configure as this will help
solving the problem.
was caused by not having the right –cross-prefix parameter, or by not having the w64…/bin directory in my path.
using the –cross-prefix overcame this:
./configure –enable-memalign-hack –arch=x86 –target-os=mingw32
ERROR: MinGW runtime version must be >= 3.15.
somehow it overcame this too:
/free_space/ffmpeg-cross/mingw-w64-i686/i686-w64-mingw32/bin/gcc yo.c
/tmp/ccymzehp.s: Assembler messages:
/tmp/ccymzehp.s:2: Error: unknown pseudo-op: `.def’
/tmp/ccymzehp.s:2: Error: unknown pseudo-op: `.scl’
/tmp/ccymzehp.s:2: Error: Missing symbol name in directive
/tmp/ccymzehp.s:2: Error: unrecognized symbol type “32″
/tmp/ccymzehp.s:2: Error: unknown pseudo-op: `.endef’
/tmp/ccymzehp.s:5: Error: unknown pseudo-op: `.def’
/tmp/ccymzehp.s:5: Error: unknown pseudo-op: `.scl’
/tmp/ccymzehp.s:5: Error: Missing symbol name in directive
/tmp/ccymzehp.s:5: Error: unrecognized symbol type “32″
/tmp/ccymzehp.s:5: Error: unknown pseudo-op: `.endef’
using right prefix overcame this too: gcc: error trying to exec ‘cc1′: execvp: No such file or directory
C compiler test failed.
–pkg-config=pkg-config to overcome WARNING: i686-w64-mingw32-pkg-config not found, library detection may fail.
run-detectors: unable to find an interpreter for ./ffmpeg.exe
meant “you cannot run one cross compiled for windows under linux” (maybe wine would work tho…)
cross compile x264:
x264-snapshot-20120724-2245 $ ./configure –host=i686-w64-mingw32 –enable-static –cross-prefix=/home/rogerdpack/dev/ffmpeg_cross/mingw-w64-i686/bin/i686-w64-mingw32- –prefix=$HOME/dev/ffmpeg_cross/mingw-w64-i686/i686-w64-mingw32 && make && make install
optionally with –enable-win32thread to disable pthreads if you don’t want them (you don’t need them).
“../../source/mingw-w64-svn/experimental/winpthreads/configure” –build=”$build_type” –host=”$mingw_w64_target” –disable-shared –enable-static –prefix=”$mingw_w64_prefix/$mingw_w64_arch-w64-mingw32″
./configure –build=i686-pc-linux-gnu –host=i686-w64-mingw32 –disable-shared –enable-static –prefix=/home/rogerdpack/dev/ffmpeg_cross/mingw-w64-i686/i686-w64-mingw32
w32-pthreads: $ make GC-static CROSS=i686-w64-mingw32-
ffplay is absent? you need to install SDL. *but* SDL appears to (bizarrely) install its config as sdl-config instead of i586-mingw-sdl-config (which way is right?) so cp it to the right name?
related: http://patches.libav.org/patch/1331/ (LODO check with libav uses these days…)
possibly related: http://odamex.net/wiki/Cross_compiling_for_Windows_using_MinGW
built on Sep 19 2008 21:32:31, gcc: 3.4.5 (mingw-vista special r3)
[mov,mp4,m4a,3gp,3g2,mj2 @ 00037290]this file requires zlib support compiled in
[mov,mp4,m4a,3gp,3g2,mj2 @ 00037290]error reading header: -1
f:/installed/apache/htdocs/video/mov/1249.mov: Error while opening file
possibly meant “you need to configure it with –enable-zlib” (?)