VLC的编译过程(版本1.1.0)

来源:互联网 发布:网络空间女权主义 编辑:程序博客网 时间:2024/05/11 12:31

1。 安装cygwin, 
         确定以下安装包被选中
Archive         
                unzip    
                zip    
Devel         
                autoconf    
                automake     
                binutils    
                cvs    
                gcc    
                gcc-core    
                gcc-g++    
                gcc-mingw    
                gcc-mingw-core    
                gcc-mingw-g++    
                gdb    
                gettext    
                gettext-devel 
                git    
                libiconv 
                libgcrypt-devel 
                libtool    
                make    
                mingw-runtime 
                nasm 
                patchutils 
                pkg-config    
                subversion    
Editor         
                vim    
Libs         
                expat 
                libgcrypt 
Web         
                curl 
                wget

2。 下载vlc-1.1.0的源码  http://download.videolan.org/pub/videolan/vlc/1.1.0/vlc-1.1.0.tar.bz2
          用到的库 http://download.videolan.org/pub/testing/win32/contrib-20100616-win32-bin-gcc-4.4.4-runtime-3.17-only.tar.bz2
         LUA库  http://www.lua.org/ftp/lua-5.1.4.tar.gz
3。 将contrib-20100616-win32-bin-gcc-4.4.4-runtime-3.17-only.tar.bz2库解压到 X:/cygwin 下面,用RAR解压就可以
4。 删除/usr/win32/bin下面的moc,rcc,uic这三个文件
5。  解压lua-5.1.4.tar.gz库,  修改src/Makefile,将 CC = gcc 改为 CC = gcc -mno-cygwin
6。 在lua-5.1.4目录下执行  make mingw和make install
7。 解压vlc-1.1.0.tar.bz2
8。 cd到vlc-1.1.0目录下,运行  ./bootstrap     成功后显示 Successfully bootstrapped
7。 新建myvlc.sh, 注意是unix格式的哦。用UltraEdit编辑(不要转成DOS格式)
      将下面的脚本粘贴过去
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 /
  --enable-avcodec --enable-avformat --enable-swscale /
  --enable-faad --enable-flac --enable-theora /
  --enable-freetype /
  --enable-fribidi /
  --disable-fluidsynth /
  --enable-live555 --with-live555-tree=/usr/win32/live.com /
  --enable-caca /
  --with-dvdnav-config-path=/usr/win32/bin /
  --disable-vcdx --enable-goom /
  --enable-twolame --enable-dvdread /
  --enable-debug --enable-dca /
  --disable-mkv --disable-taglib --disable-projectm /
  --disable-zvbi --disable-schroedinger --disable-dirac /
  --enable-mozilla --with-mozilla-sdk-path=/usr/win32/gecko-sdk
8。执行./myvlc.sh
9。修改工作
(行号不准,附近找找)

 修改libtool第144行
修改         
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第700,730,741行,就是行首加入#。

#             cp "$(top_srcdir)/extras/package/win32/vlc.exe.manifest" "$(win3 
2_destdir)/" 

#             cp $(top_srcdir)/projects/mozilla/npvlc.dll.manifest $(win32_des 
tdir)/mozilla/ 

#             cp $(top_srcdir)/projects/activex/axvlc.dll.manifest $(win32_des 
tdir)/activex/

10。 然后make ,  make package-win32-base
即使是单线程源码,也可以多线程编译,加快编译速度,使用命令 make -j n  (n为内核数,若是windows操作系统,使用了睿频技术,比如一个2核的cpu,通过睿频技术,模拟4核,那么这里n=4)

原创粉丝点击