WEB开发网
开发学院操作系统windows 2008 windows平台下vlc编译之六:vlc-0.9.8a的编译 阅读

windows平台下vlc编译之六:vlc-0.9.8a的编译

 2009-10-24 00:00:00 来源:WEB开发网   
核心提示:vlc用Cygwin编译老是会出这样那样的问题,所以编译起来是相当相当的郁闷,windows平台下vlc编译之六:vlc-0.9.8a的编译,vlc-0.9.6版的官方提供的版本会有几个严重的缺陷,在官方网站上面已经郑重道歉了,3. 执行sed-i's/AM_GNU_GETTEXT_VERSION(0.17)/

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

本文示例源代码或素材下载

Tags:windows 平台 vlc

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接