您的位置:首页 > 其它

windows平台下vlc编译之一:编译环境构建(转自jeremiah的博客)

2009-02-09 10:58 405 查看
windows平台下vlc编译之一:编译环境构建(2008.12.03更新)

2008-11-21 15:21:44
 标签:windows cygwin compile vlc   [推送到技术圈]

版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://jeremiah.blog.51cto.com/539865/114190
    Jeremiah刚刚工作几个月,参与的第一个项目是与视频监控有关,分配给我的任务就是用开源的vlc做一个自己的播放器。
    对于开源项目来说,搭建起编译环境是第一步也是最重要的一步。Jeremiah在历经5天的痛苦折磨,google出了n多网页,其中还包括一个德语的网页和韩语的网页,终于编译通过了vlc0.8.6d。百度到的ChinaUnix的一个网页上面说:编译vlc感觉就像被...,Jeremiah深有体会啊。不过编译成功,还是小兴奋了一下。啊哈哈~!有些自虐倾向。
    在网上查到一个vlc的qq群:49846130。里面人快满了,不知道什么时候开个二群。有兴趣的可以加一下,大家共同交流。
    废话不多说了,步入正题。
    在windows下编译vlc需要使用仿真Linux环境Cygwin或者Msys+MingW,据说差不多。但是Jeremiah没有用过后者,所以在这只介绍Cygwin环境。
 
    编译之前的说明:由于最近Cygwin更新了库文件,导致出现了一些新的无法通过编译的错误。Jeremiah将自己的应用的Cygwin的库文件传到了网盘上共享,地址是:
1.  进入之后搜索Cygwin,类别是“文件”(而不是“专辑,图片,...”),找到文件名为Cygwin-old(2008.12.03)的文件。这个网盘ms还行。(搜索出来的地址ms是:http://www.ucomo.com/space/FileDetail.aspx?domain=JEREMIAH&fileid=55350)(强烈建议不要用迅雷等下载工具下载,就用firefox或ie自带的下载工具下载)
2. http://jeremiah.59le.com。不过这个网盘很不稳定。
谁有比较好的共享大文件的方法,请告诉我一声。
如果你下载不了,可以到qq群里面找我,我一般情况下都会在,除了不在的时候。在下面的列表中Jeremiah给出了各个库文件的版本,如果采用网络安装,请对照好每个库版本。
 
    编译第一步:去下载Cygwin。给个网址:http://www.cygwin.com/setup.exe(Jeremiah提供的安装文件里面有,也可以去下新版本的。)
 
    编译第二步:安装Cygwin。Cygwin需要安装到某个盘的根路径。然后要找个源下载相应的库,http://www.cygwin.cn/pub相对比较快, ftp://ftp.sjtu.edu.cn/cygwin/作为参考。(如果用的本地的库文件,就不用写这一项)然后就需要安装其他库来支持vlc的编译了。目录如下:

Archive
    unzip (5.52-2)
    zip (2.32-2)
Devel
    autoconf (4-1 2.13-3 2.61-1)
    automake (2-1 1.10-1 1.4p6-4 1.5-2 1.63-3 1.7.9-3 1.8.5-3 1.9.6-2)
    binutils (20080624)
    cvs (1.11.22-1)
    gcc (3.4.4-3)
    gcc-core (3.4.4-3)
    gcc-g++ (3.4.4-3)
    gcc-mingw (20040810-1)
    gcc-mingw-core (20050522-1)
    gcc-mingw-g++ (20050522-1)
    gdb (6.8-2)
    gettext (0.15-1)
    gettext-devel (0.15-1)
    git (1.6.0.2-1)
    libiconv (1.11-1)
    libgcrypt-devel (1.41-4)
    libtool (1.5.27a-1)
    make (3.81-2)
    mingw-runtime (3.15.1-1) 
    nasm (2.02-1)
    patchutils (0.2.31-2)
    pkg-config (0.23a-2)
    subversion (1.5.2-1)
Editor
    vim (7.2-3)
Libs
    expat (2.0.1-1)
    libgcrypt (1.4.1-4)
Web
    curl (optional: for building extras/contrib) (7.16.3-1)
    wget (optional: for building extras/contrib) (1.11.3-1)

经过比较漫长的下载过程,Cygwin就算安装好了。建议将下载下来的文件(位于安装文件同目录)保留下来,下次安装的时候直接从文件安装就不用到网上下载了。
    第一次运行Cygwin,如果没有产生下列代码:

Copying skeleton files.
These files are for the user to personalise
their cygwin experience.

These will never be overwritten.

`./.bashrc' -> `/home/wangwei1//.bashrc'
`./.bash_profile' -> `/home/wangwei1//.bash_profile'
`./.inputrc' -> `/home/wangwei1//.inputrc'

    则表示windows用户没有添加到Cygwin中,运行以下两条命令添加用户:

mkpasswd -l [-d] > /etc/passwd
mkgroup -l [-d] > /etc/group

    其中-d可选,如果你在域中,需要用加入'-d 域名'。
    重新开启Cygwin,在根目录'/'下就会生成/home/yourname的文件夹。
 
    编译第三步:下载源码及第三方库。vlc的所有的源码(*.tar.gz,*.tar.bz2)及编译好的绿色版(win32/*.zip),安装版(win32/*.exe)都可以在这里下载:http://download.videolan.org/pub/videolan/vlc/。Cygwin下编译vlc最关键的就是源码和第三方库要相匹配,Jeremiah之所以编译了5天,经历了n多痛苦的过程,就是因为没有匹配好源码和第三方库,导致了大量的错误。上面网址里面的vlc的版本很多,相对稳定的是vlc-0.8.6*版本,推荐0.8.6i,匹配的contrib为:http://download.videolan.org/pub/testing/win32/contrib-20070530-win32-bin-gcc-3.4.5-only.tar.bz2。Jeremiah写这篇博客的时候最新的发行版是vlc-0.9.6,其实1.0.0已经在测试了,只是没有正式发布而已(http://nightlies.videolan.org/),vlc各个版本的更新日志参考:http://www.videolan.org/developers/vlc/NEWS。但是Jeremiah没有编译成功vlc-0.9.6,0.9.*版本推荐0.9.4,匹配的contib为:http://people.videolan.org/~jb/Contribs/contrib-20080811-win32-bin-gcc-4.2.1-sjlj-runtime-3.13-only.tar.bz2
    Jeremiah将在未来几篇博客中详细介绍编译0.8.6i和0.9.4。
 
参考网址:
1.
2.
3.

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息