VLC源码分析-0:编译源码环境配置

本文档描述从VLC media player for iOS下载的源码包VLC for iOS 2.7.8 source code进行的编译环境配置过程。

VLC for iOS 2.7.8 source code下载后并不能直接编译,一是使用CocoaPods,二是依赖Google、DropBox等公司的SDK。

1、更新CocoaPods

VLC的Podfile使用https://github.com/CocoaPods/Specs.git作源,对于国内的开发者,下载所需的时间过长,切换成国内的源才是合理的选择。处理过程如下:

  1. 在pod repo里添加master指向国内源。若提示存在master,先执行pod repo remove master,删掉主数据源即可。
pod repo add master 'https://git.coding.net/hging/Specs.git'
  1. 在Podfile头部指定source
source 'https://git.coding.net/hging/Specs.git'

经测试,开源中国的源http://git.oschina.net/akuandev/Specs.git无法正常访问。

2、执行compileVLCforiOS.sh

执行sh compileVLCforiOS.sh,对于国内用户,一般会得到SVN无法链接到指定URL错误。

svn: E175002: Unable to connect to a repository at URL 'http://google-api-objectivec-client.googlecode.com/svn/trunk/Source'
svn: E175002: OPTIONS of 'http://google-api-objectivec-client.googlecode.com/svn/trunk/Source': could not connect to server (https://google-api-objectivec-client.googlecode.com)

多数人会改成https协议,然而,并没什么用,Google这个地址已经没内容了,网页访问是404,找不到对象,对了,今天是七夕,找不到对象是正常的,不然我就陪妹子去了,写什么鬼文档。

3、手工组装

既然,sh compileVLCforiOS.sh执行出错,那就手工下载这些组件,这正是shell文件做的事。对了,下载这些组件需要跨越长城。

3.1、GDrive

虽然compileVLCforiOS.sh下载google-api-objectivec-client,但是,从后面执行结果看,它只用了HTTPFetcher组件,单独下载HTTPFetcher即可。因为,GitHub上的google-api-objectivec-client并没包含
HTTPFetcher组件,通过git克隆子模块也下载不到HTTPFetcher。幸好,GitHub有热心群众抽取了HTTPFetcher模块代码,克隆下来即可。

svn checkout https://google-api-objectivec-client.googlecode.com/svn/trunk/Source GDrive

GDrive后面的几个组件,如LXReorderableCollectionViewFlowLayout、WhiteRaccoon都能克隆自GitHub。

3.2、Dropbox

Dropbox 1.3.13版官方已不提供下载,再次,GitHub有热心群众作了备份,感谢全世界热心的码农。

4、开始正常编译

最后,HockeySDK-tvOS可正常下载,再次执行compileVLCforiOS.sh,开始漫长的等待。

VLC源码分析-0:编译源码环境配置_第1张图片
编译进展

5小时后,编译脚本输出如下信息,意味着编译基本结束。

[info] building universal static libs for OS style iPhone

编译过程中,若下载不了openjpeg-1.5.0、apache-ant-1.9.6.tar.bz2,可手工下载。其中,由于VLC的编译脚本只认压缩文件,且apache-ant-1.9.6.tar.bz2已无直接的下载地址,那么由apache-ant-1.9.6.zip下载后,通过如下方式打包成apache-ant-1.9.6.tar.bz2。

  • 解压apache-ant-1.9.6.zip,取出apache-ant-1.9.6
  • 打包apache-ant-1.9.6成apache-ant-1.9.6.tar
tar -cf apache-ant-1.9.6.tar apache-ant-1.9.6
  • apache-ant-1.9.6.tar打包成apache-ant-1.9.6.tar.bz2
tar -cjf apache-ant-1.9.6.tar.bz2 apache-ant-1.9.6.tar

点击访问VLCKit的GitLab网页地址。

你可能感兴趣的:(VLC源码分析-0:编译源码环境配置)