Ubuntu 9.04 + mingw + vlc099a + contrib-20090219-win32-bin-gcc-4.2.1-sjlj-runtime-3.13-only.tar.bz2 + WINXP
1.
sudo apt-get install apt-file mingw32 mingw32-binutils ming32-runtime libgnutls-dev libgcrypt-dev libtool autoconf libdvdread-dev tofrodos build-essential subversion
2.
ln -s /usr/lib/gcc/i586-mingw32msvc/4.2.1-sjlj/libgcc.a /usr/lib/gcc/i586-mingw32msvc/4.2.1-sjlj/libgcc_s.a
3.
ln -s /usr/win32/include/dvdread /usr/win32/include/libdvdread
4.
tar jxvf vlc-0.9.9a.tar.bz2 -C /home/vlc
5.
tar jxvf contrib-20090219-win32-bin-gcc-4.2.1-sjlj-runtime-3.13-only.tar.bz2 -C /
6.
sudo bootstrap
7.
sudo sh configure-vlc01.sh
{
export PATH=/usr/win32:/usr/win32/bin:/usr/win32/include:/usr/win32/lib:$PATH \
export CONTRIBS=/usr/win32 \
export PKG_CONFIG_LIBDIR=/usr/win32/lib/pkgconfig \
CPPFLAGS="-I/usr/win32/include -I/usr/win32/include/ebml" CXXCPP=i586-mingw32msvc-cpp \
LDFLAGS="-L/usr/win32/lib" \
CC=i586-mingw32msvc-gcc CXX=i586-mingw32msvc-g++
./configure --host=i586-mingw32msvc --build=i386-linux \
--disable-gtk \
--enable-nls --enable-sdl --with-sdl-config-path=/usr/win32/bin \
--enable-ffmpeg --with-ffmpeg-mp3lame --with-ffmpeg-faac \
--with-ffmpeg-zlib --enable-faad --enable-flac --enable-theora \
--with-wx-config-path=/usr/win32/bin \
--with-freetype-config-path=/usr/win32/bin \
--with-fribidi-config-path=/usr/win32/bin \
--with-libgcrypt-prefix=/usr/win32 \
--enable-live555 --with-live555-tree=/usr/win32/live.com \
--enable-caca --with-caca-config-path=/usr/win32/bin \
--with-xml2-config-path=/usr/win32/bin \
--with-dvdnav-config-path=/usr/win32/bin \
--disable-cddax --disable-vcdx --enable-goom \
--enable-twolame --enable-dvdread \
--with-dvdread=/usr/win32 \
--with-dvdread-tree=/usr/win32 \
--disable-zvbi \
--enable-release --enable-activex
}
8.
sudo make
9.
sudo make package-win32-base
10.
everthing is ok
11. vlc-0.9.9a/extras/contrib/
bootstrap
mkdir lib include
12. vlc-0.9.9a/extras/contrib/src
make .ffmpeg ==>OK (modify some error "undefine")
13.
cp -a vlc-0.9.9a/extras/contrib/lib/* ==> /usr/win32/lib
cp -a vlc-0.9.9a/extras/contrib/include/* ==> /usr/win32/include
14. vlc-0.9.9a/
make
ERROR
..................................
/bin/bash ../../../libtool --tag=CC --mode=link i586-mingw32msvc-gcc -std=gnu99 `top_builddir="../../.." ../../../vlc-config --cflags plugin libavcodec_plugin.la` -mms-bitfields -Wall -Wextra -Wsign-compare -Wundef -Wpointer-arith -Wbad-function-cast -Wcast-align -Wwrite-strings -Wmissing-prototypes -Wvolatile-register-var -rpath '/usr/local/lib/vlc/codec' -avoid-version -module -no-undefined -export-symbol-regex ^vlc_entry -shrext .dll `top_builddir="../../.." ../../../vlc-config --ldflags plugin libavcodec_plugin.la` -L/usr/win32/lib -o libavcodec_plugin.la libavcodec_plugin_la-avcodec.lo libavcodec_plugin_la-video.lo libavcodec_plugin_la-audio.lo libavcodec_plugin_la-deinterlace.lo libavcodec_plugin_la-encoder.lo `top_builddir="../../.." ../../../vlc-config -libs plugin libavcodec_plugin.la` ../../../src/libvlccore.la -lmingw32
libtool: link: rm -fr .libs/libavcodec_plugin.dll .libs/libavcodec_plugin.dll.a .libs/libavcodec_plugin.la .libs/libavcodec_plugin.lai
libtool: link: i586-mingw32msvc-gcc -std=gnu99 -shared .libs/libavcodec_plugin_la-avcodec.o .libs/libavcodec_plugin_la-video.o .libs/libavcodec_plugin_la-audio.o .libs/libavcodec_plugin_la-deinterlace.o .libs/libavcodec_plugin_la-encoder.o -L/usr/win32/lib -lavcodec -lz /home/sa3003/guilin/vlc/ubuntu_mingw_vlc/vlc-0.9.9a/extras/contrib/lib/libfaac.a -L/home/sa3003/guilin/vlc/ubuntu_mingw_vlc/vlc-0.9.9a/extras/contrib/lib /home/sa3003/guilin/vlc/ubuntu_mingw_vlc/vlc-0.9.9a/extras/contrib/lib/libmp3lame.a -lm -lavutil ../../../src/.libs/libvlccore.dll.a -lkernel32 -lws2_32 -lnetapi32 -lwinmm /usr/win32/lib/libiconv.a -lmingw32 -mtune=pentium2 -mms-bitfields -o .libs/libavcodec_plugin.dll -Wl,--enable-auto-image-base -Xlinker --out-implib -Xlinker .libs/libavcodec_plugin.dll.a
Creating library file: .libs/libavcodec_plugin.dll.a.libs/libavcodec_plugin_la-avcodec.o:avcodec.c:(.text+0x47): undefined reference to `_avcodec_init'
.libs/libavcodec_plugin_la-avcodec.o:avcodec.c:(.text+0x4c): undefined reference to `_avcodec_register_all'
.libs/libavcodec_plugin_la-avcodec.o:avcodec.c:(.text+0x58): undefined reference to `_av_log_set_callback'
.libs/libavcodec_plugin_la-avcodec.o:avcodec.c:(.text+0x16e5): undefined reference to `_avcodec_close'
.libs/libavcodec_plugin_la-avcodec.o:avcodec.c:(.text+0x1727): undefined reference to `_av_free'
.libs/libavcodec_plugin_la-avcodec.o:avcodec.c:(.text+0x17ca): undefined reference to `_avcodec_find_decoder'
.libs/libavcodec_plugin_la-avcodec.o:avcodec.c:(.text+0x17d9): undefined reference to `_avcodec_alloc_context'
.libs/libavcodec_plugin_la-video.o:video.c:(.text+0x16): undefined reference to `_av_free'
.libs/libavcodec_plugin_la-video.o:video.c:(.text+0x2b0): undefined reference to `_avcodec_alloc_frame'
.libs/libavcodec_plugin_la-video.o:video.c:(.text+0x6ce): undefined reference to `_avcodec_open'
.libs/libavcodec_plugin_la-video.o:video.c:(.text+0x957): undefined reference to `_avcodec_default_reget_buffer'
.libs/libavcodec_plugin_la-video.o:video.c:(.text+0xc47): undefined reference to `_avcodec_decode_video'
.libs/libavcodec_plugin_la-video.o:video.c:(.text+0xca6): undefined reference to `_avcodec_decode_video'
.libs/libavcodec_plugin_la-video.o:video.c:(.text+0x195d): undefined reference to `_avcodec_align_dimensions'
.libs/libavcodec_plugin_la-video.o:video.c:(.text+0x19cd): undefined reference to `_avcodec_default_get_buffer'
.libs/libavcodec_plugin_la-video.o:video.c:(.text+0x19f0): undefined reference to `_avcodec_default_get_buffer'
.libs/libavcodec_plugin_la-video.o:video.c:(.text+0x243): undefined reference to `_avcodec_default_release_buffer'
.libs/libavcodec_plugin_la-audio.o:audio.c:(.text+0x25b): undefined reference to `_avcodec_open'
.libs/libavcodec_plugin_la-audio.o:audio.c:(.text+0x6e8): undefined reference to `_avcodec_decode_audio2'
.libs/libavcodec_plugin_la-audio.o:audio.c:(.text+0x823): undefined reference to `_avcodec_flush_buffers'
.libs/libavcodec_plugin_la-deinterlace.o:deinterlace.c:(.text+0x24a): undefined reference to `_avpicture_deinterlace'
.libs/libavcodec_plugin_la-encoder.o:encoder.c:(.text+0x80): undefined reference to `_avcodec_encode_audio'
.libs/libavcodec_plugin_la-encoder.o:encoder.c:(.text+0x5c6): undefined reference to `_avcodec_encode_video'
.libs/libavcodec_plugin_la-encoder.o:encoder.c:(.text+0xa83): undefined reference to `_avcodec_find_encoder'
.libs/libavcodec_plugin_la-encoder.o:encoder.c:(.text+0xb04): undefined reference to `_avcodec_alloc_context'
.libs/libavcodec_plugin_la-encoder.o:encoder.c:(.text+0x1049): undefined reference to `_avcodec_open'
.libs/libavcodec_plugin_la-encoder.o:encoder.c:(.text+0x11e2): undefined reference to `_avcodec_open'
.libs/libavcodec_plugin_la-encoder.o:encoder.c:(.text+0x173b): undefined reference to `_av_reduce'
.libs/libavcodec_plugin_la-encoder.o:encoder.c:(.text+0x1789): undefined reference to `_av_reduce'
.libs/libavcodec_plugin_la-encoder.o:encoder.c:(.text+0x2034): undefined reference to `_avcodec_close'
.libs/libavcodec_plugin_la-encoder.o:encoder.c:(.text+0x204c): undefined reference to `_av_free'
collect2: ld returned 1 exit status