windows平台下vlc编译之一:编译环境构建(2008.12.03更新)
请移步https://higoge.github.io/,所有下载资料在那个博客都能找到。谢谢。
--------------------------------------------------------------------
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-old的库文件在我的公共邮箱提供了下载,具体下载方式为:
1). 登录http://mail.qq.com
2). 用户名:jeremiah_vlc
3). 密码:发邮件给我(jeremiah.vlc@gmail.com),我会告知。
4). 在“我的文件夹”的“Jeremiah_VLC相关资源”有所有资料的超大附件连接。
编译第一步:去下载Cygwin。给个网址:[url]http://www.cygwin.com/setup.exe[/url](用我上面提供的,选择从本地安装)
编译第二步:安装Cygwin。Cygwin需要安装到某个盘的根路径。然后要找个源下载相应的库,[url]http://www.cygwin.cn/pub[/url]相对比较快, [url]ftp://ftp.sjtu.edu.cn/cygwin/[/url]作为参考。(如果用的本地的库文件,就不用写这一项)然后就需要安装其他库来支持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)都可以在这里下载:[url]http://download.videolan.org/pub/videolan/vlc/[/url]。Cygwin下编译vlc最关键的就是源码和第三方库要相匹配,Jeremiah之所以编译了5天,经历了n多痛苦的过程,就是因为没有匹配好源码和第三方库,导致了大量的错误。上面网址里面的vlc的版本很多,相对稳定的是vlc-0.8.6*版本,推荐0.8.6i,匹配的contrib为:[url]http://download.videolan.org/pub/testing/win32/contrib-20070530-win32-bin-gcc-3.4.5-only.tar.bz2[/url]。Jeremiah写这篇博客的时候最新的发行版是vlc-0.9.6,其实1.0.0已经在测试了,只是没有正式发布而已([url]http://nightlies.videolan.org/[/url]),vlc各个版本的更新日志参考:[url]http://www.videolan.org/developers/vlc/NEWS[/url]。但是Jeremiah没有编译成功vlc-0.9.6,0.9.*版本推荐0.9.4,匹配的contib为:contrib-20080811-win32-bin-gcc-4.2.1-sjlj-runtime-3.13-only.tar.bz2。
Jeremiah将在未来几篇博客中详细介绍编译0.8.6i和0.9.4。
参考网址:
1. [url]http://rogerfd.cn/?p=127[/url]
2. [url]http://www.onlyblog.com/blog2/zyjzyj2000/10242.html[/url]
3. [url]http://wiki.videolan.org/Win32CompileCygwinNew[/url]
转载于:https://blog.51cto.com/jeremiah/114190
windows平台下vlc编译之一:编译环境构建(2008.12.03更新)相关推荐
- windows平台下vlc编译之十三:vlc1.1.0编译
请移步https://higoge.github.io/,所有下载资料在那个博客都能找到.谢谢. --------------------------------------------------- ...
- windows平台下vlc编译之六:vlc-0.9.8a的编译
请移步https://higoge.github.io/,所有下载资料在那个博客都能找到.谢谢. --------------------------------------------------- ...
- windows平台下vlc编译
转自:http://jeremiah.blog.51cto.com/539865/114190 Jeremiah刚刚工作几个月,参与的第一个项目是与视频监控有关,分配给我的任务就是用开源的vl ...
- windows平台下VLC2.0.5编译
windows平台下VLC2.0.5编译说明 时隔一年多,又要搞流媒体了,不过这次是要做流媒体服务器. 暂时决定使用vlc+ffmpeg+live555,虽然听有些前辈说这个组合的性能较差,只能作为学 ...
- windows平台下用CMake工具编译osg用法说明
最近研究osg,用CMake工具将osg源码转为VS下的工程.解决方案,开始时不懂,走了很多弯路,现在将自己理解的记录如下: 1):在CMake图形界面中的"Where is the sou ...
- Windows平台下NS2网络仿真环境的搭建
NS2(Network Simulator 2) 是一种针对网络技术的源代码公开的.免费的软件模拟平台,研究人员使用它可以很容易的进行网络技术的开发,而且发展到今天,它所包含的模块几乎涉及到了网络技术 ...
- Windows平台下Glade+GTK开发环境的搭建
[@.1 MVVM设计模式与Glade] 做上层软件开发的程序员可能对于MVVM模式比较熟悉,这是一种经典的软件设计模式,很好的将用户界面与后台处理之间分层开,通过属性.事件绑定这种统一的" ...
- 3个平台下的ffmpeg——ffmpeg编译
3个平台下的ffmpeg--ffmpeg编译 ffmpeg编译 需要在3个平台(win\linux\arm)下使用ffmpeg的库,所以进行了ffmpeg的编译. 其中ffmpeg的编译也有许多依赖, ...
- Windows平台下Makefile学习笔记
来源:http://blog.csdn.net/clever101 决心学习Makefile,一方面是为了解决编译开源代码时需要跨编译平台的问题(发现一些开源代码已经在使用VS2010开发,但我还没安 ...
最新文章
- Git安装配置(Linux)
- 1.1.2 ADO.NET模型
- Python---图像读写操作(scipy)
- 【MM模块】 Goods Receipt 收货 3
- U盘无法拷贝超过4G的大文件
- java wifi监听_Android 监听 WiFi 开关状态
- bzoj 3232 01分数规划+最大权封闭子图判定
- 10-30 团队的自动化
- java多线程笔记补充之线程的生命周期
- mysql远程授权格式_MySQL远程访问授权
- 多个高危 BIOS 缺陷影响英特尔处理器,特斯拉 Model 3 未幸免,可用于供应链攻击...
- 2018-2019 ACM-ICPC, Asia Nanjing Regional Contest题解
- android面试(4)---文件存储
- iOS 中的正则匹配(工具类方法)
- 不是我发现了美,只不过这个世界本身就很美。记快乐的今年生日。
- sql2008计算机环境,win2008r2下安装sql2008r2初版
- 计算机专业英语词汇缩写CIA,CIA英文词汇缩写
- ​LeetCode刷题实战510:二叉搜索树中的中序后继 II
- linux b类地址设24位掩码,LINUX中的网络配置
- 【新知实验室】手把手实现腾讯云音视频应用
热门文章
- excel if in函数_EXCEL技巧之if函数在统计中的应用简介
- el table怎么获取最后一行_elementUi表格插入额外一行怎么操作
- mysql seq 重置_需要在Oracle中重置序列的值
- 小米台灯底座接口很松_呵护你的眼,米家台灯1S
- 进程间通信的方式(四):信号量
- git 拉取远程分支及修改远程仓库地址
- C# SqlBulkCopy 避免插入重复数据(不重复即插入)
- Lucene——Field.Store(存储域选项)及Field.Index(索引选项)
- esriFeatureType与esriGeometryType的区别与联系
- 多线程下使用Jedis