[Ffmpeg-devel] Win32 unresolved external symbol

Dario Andrade dario
Wed Aug 31 20:14:09 CEST 2005

> If you use only mingw, and nothing more, then the 'lib' command simply
> fails with 'Ignored', right? Rather kludgey IMHO. I think the cases with
> and without MSVC involved are so different that its time to add some
> '--enable-msvc-support' for configure.

I use gcc.exe (GCC) 3.2.3 (mingw special 20030504-1), under Windows XP SP2,
and CYGWIN_NT-5.1 installed.

My configure command is:

./configure  --enable-mingw32 --enable-shared
--source-path=c:/work/nct/ffmpeg --disable-ffserver --disable-ffplay
--enable-memalign-hack --enable-gpl --enable-x264 --disable-encoders
--disable-decoders --enable-codec=H264_DECODER --enable-codec=X264_ENCODER
--enable-codec=MPEG4_DECODER --enable-codec=MPEG4_ENCODER
--enable-codec=SPEEX_ENCODER --enable-codec=SPEEX_DECODER

Note that the path to --source-path=... cannot not be /cygdrive/c/... since
there is a bug in the compiler that will literally ignore the path in this
format. It also ignores it if you add the ' tick mark around it. And since
configure does it for me, I have to manually remove them so that it can be
understood (i.e. -I'c:/work/...' does not work and must be -Ic:/work/...).

Besides my makefile is also modified:

I sum, I usually add a intermediate target step in order to compile a .rc
file (resource script) and then another to convert the resulting .res into a
valid coff object file (so that the generated .dll will contain version
information block and others resources that may be necessary). 
Besides, the 'lib' command is really necessary to generate the library
binding stub.

Hope it helps,
Dario Andrade

More information about the ffmpeg-devel mailing list