windows平台下vlc编译之六:vlc-0.9.8a的编译
2009-10-24 00:00:00 来源:WEB开发网vlc用Cygwin编译老是会出这样那样的问题,所以编译起来是相当相当的郁闷。vlc-0.9.6版的官方提供的版本会有几个严重的缺陷,在官方网站上面已经郑重道歉了。vlc-0.9.8a是目前发行的最新版,所以对其编译是势在必行的。
废话了这么多,进入正题。简单写一下,如果有不明白的,看看前面几篇日志。
1. 编译环境,目前最新的Cygwin。(《windows平台下vlc编译之五:vlc-0.9.6的编译》提供下载地址)
2. 源码和库:
源码:http://download.videolan.org/pub/videolan/vlc/0.9.8a/vlc-0.9.8a.tar.bz2
库:contrib-20081021-win32-bin-gcc-4.2.1-sjlj-runtime-3.13-only.tar.bz2
在我的公共邮箱提供了下载,具体下载方式为:
1). 登录http://mail.qq.com
2). 用户名:jeremiah_vlc
3). 密码:发邮件给我(jeremiah.vlc@gmail.com),我会告知。
4). 在“我的文件夹”的“Jeremiah_VLC相关资源”有所有资料的超大附件连接。
3. 执行
sed -i 's/AM_GNU_GETTEXT_VERSION(0.17)/AM_GNU_GETTEXT_VERSION(0.15)/g' configure.ac
./bootstrap
4. 保存如下脚本为configure-vlc01.sh
PATH=/usr/win32/bin:$PATH \
PKG_CONFIG_LIBDIR=/usr/win32/lib/pkgconfig \
CPPFLAGS="-I/usr/win32/include -I/usr/win32/include/ebml" \
LDFLAGS=-L/usr/win32/lib \
CC="gcc -mno-cygwin" CXX="g++ -mno-cygwin" \
./configure \
--host=i686-pc-mingw32 \
--enable-nls --enable-sdl --with-sdl-config-path=/usr/win32/bin \
--enable-avcodec --enable-avformat --enable-swscale \
--enable-faad --enable-flac --enable-theora \
--enable-freetype \
--enable-fribidi \
--enable-live555 --with-live555-tree=/usr/win32/live.com \
--enable-caca --with-caca-config-path=/usr/win32/bin \
--with--config-path=/usr/win32/bin \
--with-dvdnav-config-path=/usr/win32/bin \
--disable-cddax --disable-vcdx --enable-goom \
--enable-twolame --enable-dvdread \
--enable-debug --enable-dca \
--disable-mkv --disable-taglib \
--disable-zvbi \
--enable-mozilla --with-mozilla-sdk-path=/usr/win32/gecko-sdk
5. 执行./configure-vlc01.sh
6. 执行make前改两个文件。(行数可能不对,用搜索功能吧)
libtool第156行:
修改
global_symbol_pipe=""
为
global_symbol_pipe="sed -n -e 's/^.*[ ]\\([ABCDGIRSTW][ABCDGIRSTW]*\\)[ ][ ]*\\(\\)\\([_A-Za-z][_A-Za-z0-9]*\\)\$/\\1\\2\\3 \\3/p'"
Makefile.am第695行
修改
cp "$(top_srcdir)/extras/package/win32/vlc.exe.manifest" "$(win32_destdir)/"
为
# cp "$(top_srcdir)/extras/package/win32/vlc.exe.manifest" "$(win32_destdir)/"
Makefile.am第725行:
cp $(top_srcdir)/projects/mozilla/npvlc.dll.manifest $(win32_des
tdir)/mozilla/
为
# cp $(top_srcdir)/projects/mozilla/npvlc.dll.manifest $(win32_des
tdir)/mozilla/
Makefile.am第736行
修改
cp $(top_srcdir)/projects/activex/axvlc.dll.manifest $(win32_destdir)/activex/
为
# cp $(top_srcdir)/projects/activex/axvlc.dll.manifest $(win32_destdir)/activex/
7. 执行make && make package-win32-base。搞定!
出处: http://jeremiah.blog.51cto.com/539865/121316
本文示例源代码或素材下载
赞助商链接