VLC 重新编译第三方库的预编译包contrib
VLC的引用了很多开源的第三方库,均放到VLC目录下的contrib中(本来开始编译是2.1.x以上版本,以前或以后可能会变化),在Windows版本编译中,contrib文件夹中仅仅下载VLC官网上已经编译好的预编译包后解压到该目录下,要修改编译脚本(compile.sh和 contrib/src下的main.mak)为fetch所有第三方包中,下载后开始自动编译(由main.mak和contrib/src/***/rules.mak控制)。
一旦编译通过,一般来说,在下一次执行VLC编译脚本时,就不会再重新编译第三方包了,因为对于make来说,这些第三方包处于已安装状态,所以一旦修改了这些第三方库文件,就需要重新编译,重新编译前就需要将已安装的包卸载掉,编译脚本通过判断隐藏文件(.包名)和prefix路径下的文件,一旦存在就不需要重新编译(此处为各个包中make install决定),对于开发者来说,只需要在compile.sh(android版为compile-libvlc.sh)中的make contrib 前加上make clean即可,但此处需要注意,不能直接加上make clean,因为clean对于main.mak来说,会连同第三方库源码包都删除掉,而我们只需要删除已安装的文件即可,因此在main.mak中新增一个参数动作cleaninstall,如下:
installclean:
-$(RM) $(foreach p,$(PKGS_ALL),.$(p) .sum-$(p) .dep-$(p))
-$(RM) toolchain.cmake
-$(RM) -R "$(PREFIX)"
以上代码可在main.mak中先搜索install:后,在此段后面加上即可,修改完成后,在回到compile.sh(android版为compile-libvlc.sh)中的contrib编译段的make 前加上make cleaninstall,
接下来,再修改contrib/src下的各个包的rules.mak,让make时,不再重新解压源码(即注释掉download和UNPACK相关的命令)直接make即可。
其实还可以修改更准确的,比如实现clean指定的某一个第三方包,如以下内容为删除DVD相关的几个库,实现只重新编译这几个库:
cleandvd:
-$(RM) "./.dvdcss"
-$(RM) "./.sum-dvdcss"
-$(RM) "./.dep-dvdcss"
-$(RM) "./.dvdnav"
-$(RM) "./.sum-dvdnav"
-$(RM) "./.dep-dvdnav"
-$(RM) "./.dvdread"
-$(RM) "./.sum-dvdread"
-$(RM) "./.dep-dvdread"
# -$(RM) toolchain.cmake
-$(RM) -R "$(PREFIX)/include/dvdcss/*.*"
-$(RM) -R "$(PREFIX)/include/dvdnav/*.*"
-$(RM) -R "$(PREFIX)/include/dvdread/*.*"
-$(RM) -R "$(PREFIX)/share/doc/libdvdcss/*.*"
-$(RM) -R "$(PREFIX)/share/doc/libdvdnav/*.*"
-$(RM) -R "$(PREFIX)/share/doc/libdvdread/*.*"
-$(RM) "$(PREFIX)/lib/libdvdcss.*"
-$(RM) "$(PREFIX)/lib/libdvdnav.*"
-$(RM) "$(PREFIX)/lib/libdvdread.*"
-$(RM) "$(PREFIX)/lib/pkgconfig/dvdcss.*"
-$(RM) "$(PREFIX)/lib/pkgconfig/dvdnav.*"
-$(RM) "$(PREFIX)/lib/pkgconfig/dvdread.*"
VLC 重新编译第三方库的预编译包contrib的更多相关文章
- Linux下编译第三方库的问题
因为各个Linux发行版之间的差异还是挺大的,有一些预安装在系统上的基本库是不一样的(不仅仅是版本,有一些是有和无的区别). 那么问题来了: 编译第三方库./configure的时候一般我们不会定制那 ...
- QT:提高QT Creator编译速度,配置预编译头Stable.h
提高QT Creator编译速度,配置预编译头Stable.h QT Creator支持预编译头提高编辑速度,网上有些教程写得不详细,走了弯路,具体实现方法如下. (1)工程.PRO文件加入下面代码 ...
- xcode编译时,有第三方库时,编译设置build active architecture only问题
本文转载至 http://blog.csdn.net/ysysbaobei/article/details/16371263 编译静态库 1.http://blog.csdn.net/dengdeng ...
- PHP-Mysqli扩展库的预编译
(1)预编译的好处 假如要执行100条类似的sql语句,每一次执行,在MySQL端都会进行一次编译,效率很低.提高效率的方法就是--减少编译的次数. 先制造一个sql语句的模板,在MySQL端预先编译 ...
- mybatis中预编译sql与非预编译sql
预编译sql有缓存作用,非预编译没得 mybaits中带有#传参的有预编译左右,$没得 多用#传参 预编译语句的优势在于归纳为:一次编译.多次运行,省去了解析优化等过程:此外预编译语句能防止sql注入 ...
- C语言的预编译,程序员必须懂的知识!【预编译指令】【预编译过程】
由“源代码”到“可执行文件”的过程包括四个步骤:预编译.编译.汇编.链接.所以,首先就应该清楚的首要问题就是:预编译只是对程序的文本起作用,换句话说就是,预编译阶段仅仅对源代码的单词进行变换,而不是对 ...
- ubuntu 14 编译视频第三方库ijkplayer,能够在winows下使用
1.先安装相关环境,详细在这里http://blog.163.com/zhuowr2006@126/blog/static/98334653201612310647799/ 依据上面那个安装之后,会 ...
- 在查找预编译头时遇到意外的文件结尾。是否忘记了向源中添加“#include "StdAfx.h"”?
在查找预编译头时遇到意外的文件结尾.是否忘记了向源中添加“#include "StdAfx.h"”? 右键选择该文件.cpp格式的->属性->预编译头,→ 不使用预编译 ...
- [转][ASP.NET]ASP.NET 预编译网站
[转自]https://msdn.microsoft.com/zh-cn/library/ms227430(v=vs.80).aspx C:\Windows\Microsoft.NET\Framewo ...
随机推荐
- lenovo X230热键功能
最近在优化X230,对于有偏执狂倾向的我,执着于启动时间,在去掉启动项的时候,忽然发现扬声器按钮和麦克风按钮出现异常.遍搜渡娘无果,无奈之下重装系统.最终发现几个lenovo相互依赖的服务和程序: L ...
- java中好玩的案例
1:实现猜数字游戏, 如果没有猜对可以继续输入你猜的数字,如果猜对了停止程序. 最多只能猜三次,如果还剩下最后一次机会的时候要提醒用户. 代码: Random random = new Random( ...
- C#数字图像处理算法学习笔记(三)--图像几何变换
C#数字图像处理算法学习笔记(三)--图像几何变换 几何图像处理包括 图像的平移变换,镜像变换,旋转变换,伸缩变换,在这里仅以水平镜像为例,通过代码来理解其基本操作方式: 翻转前:
- 飞达资讯App总体介绍及关系架构图
飞达资讯App总体介绍: 下图为飞达资讯App的关系架构图: 该App关系架构图所需的图片云盘链接地址:http://pan.baidu.com/s/1gfHIe4b 提取密码:x1nr 该App的云 ...
- windows bat 文件
windows下的bat文件即批处理文件或批处理脚本,英文为BATCH, BAT文件是无格式的文本文件. 在命令提示下键入批处理文件的名称,或者双击该批处理文件,系统就会调用Cmd.exe按照该文件 ...
- EF,ADO.NET Entity Data Model简要的笔记
1. 新建一个项目,添加一个ADO.NET Entity Data Model的文件,此文件会生成所有的数据对象模型,如果是用vs2012生的话,在.Designer.cs里会出现“// Defaul ...
- com组件 智能指针崩溃问题崩溃问题
int main(){ CoInitialize(NULL); HRESULT hr; IWinHttpRequestPtr pHttpReq=NULL; pHttpReq.CreateInstanc ...
- .NET的三种缓存(页面缓存,控件缓存,自定义缓存)
BLL.Area bll = new BLL.Area(); protected void Page_Load(object sender, EventArgs e) { if (Cache[&quo ...
- swing 复选框
通过 box1 和 box2的 public boolean isSelected()的方法 返回按钮的状态. 如果选定了切换按钮,则返回 true,否则返回 false.
- WP8__从windowsphone app store 中根据app id获取应用的相关信息(下载网址及图片id等)
windows phone 官网应用商店地址 http://www.windowsphone.com/zh-cn/store/featured-apps------------------------ ...