Ubuntu14.04.02(32位)交叉编译vlc2.2.1

http://www.th7.cn/system/lin/201506/107483.shtml


http://blog.csdn.net/houmingbo123/article/details/46468121

Ubuntu14.04.02(32位)交叉编译vlc2.2.1

 

如果您看了我用ubuntu12.4编译vlc时候遇到的问题,会觉得编译都不容易,但是选择了Ubuntu14.04.02,您会发现,很多工具已经升级到能满足要求的版本,省时省力!下面是我个人的观点和遇到的问题,只可作为参考!!!

 

一、安装交叉编译环境

1. Sudo apt-get install gcc-mingw-w64-i686 g++-mingw-w64-i686 mingw-w64-tools

 

特别提醒:执行这步的时候可以通过lsb_release -a查看您的ubuntu版本,uname --m 查看您的ubuntu得位数,可以参考https://wiki.videolan.org/Win32Compile/ 官网来执行和自己的系统相符合的命令。执行这条语句后有如下提示:有169MB的空间被占用,选择Y

 

安装完后会发现,其实安装了下面这些后面会用到的工具:

Setting up libstdc++-4.8-dev:i386 (4.8.2-19ubuntu1) ...

Setting up binutils-mingw-w64-i686 (2.23.52.20130620-1ubuntu1+3build1) ...

Setting up mingw-w64-common (3.1.0-1) ...

Setting up mingw-w64-i686-dev (3.1.0-1) ...

Setting up gcc-mingw-w64-base (4.8.2-10ubuntu2+12) ...

Setting up gcc-mingw-w64-i686 (4.8.2-10ubuntu2+12) ...

Setting up g++-mingw-w64-i686 (4.8.2-10ubuntu2+12) ...

Setting up mingw-w64-tools (3.1.0-1) ...

 

二、下载安装工具包

 

// vlc 依赖包

1. sudo apt-get build-dep vlc

 

// 用于打包

2. sudo apt-get install subversion p7zip-full nsis

 

 

三、下载配置最新 vlc

 

1. git clone git://git.videolan.org/vlc.git

   这个命令时下载最新的vlc源码,因为是最新,编译的时候遇到的问题就越少人遇到,所以建议用比较稳定,用的比较多的版本。可以通过下面命令获取您想要的版本:

wget ftp://ftp.videolan.org/pub/videolan/vlc/2.2.1/vlc-2.2.1.tar.xz

tar -xvf vlc-2.2.1.tar.xz

 

2 执行下面地命令都用sudo开头 ,您也可以以root权限来执行,如果遇到su root,输入密码不正确,可以通过 sudo password root 来重新设置root密码。

   cd vlc-2.2.1

   mkdir -p contrib/win32   cd contrib/win32   ../bootstrap --host=i686-w64-mingw32

    此刻先看一下下面地温馨提示   make prebuilt

 

温馨提示:Make prebuilt会报错或者下载慢  可以将已经下载好的vlc-contrib-i686-w64-mingw32-latest.tar.bz2放在contrib/win32下再进行Make prebuilt。vlc-contrib-i686-w64-mingw32-latest.tar.bz2的下载地址:ftp://ftp.videolan.org/pub/videolan/contrib/i686-w64-mingw32/

 

四、配置编译VLC

1. 回到 vlc 根目录

   cd  cd vlc-2.2.1

   ./bootstrap

   mkdir win32 && cd win32

    $ export PKG_CONFIG_LIBDIR=$HOME/vlc-2.2.1/contrib/i686-w64-mingw32/lib/pkgconfig

特别注意:PKG_CONFIG_LIBDIR配置的地址,一定要根据自己的情况,您如果解压的名字是vlc-2.2.1 ,一定要变成PKG_CONFIG_LIBDIR=/home/houmb/vlc-2.2.1/contrib/i686-w64-mingw32/lib/pkgconfig

否则会面会因为配置失败,给您带来崩溃性的打击。

编译之前要配置一下:

     ../extras/package/win32/configure.sh --host=i686-w64-mingw32

或者执行../configure --host=i686-w64-ming32(个人建议)

如果配置成功的话就可以执行:

 make

 

编译的过程很慢,并且不一定能编的过,甚至不止会有一两个error。在我编译的时候遇到了四个error,都是在不同的模块,因为也不会用到,所以我直接关闭。

 

重新执行../configure --host=i686-w64-ming32  --disable-dvdread  --disable-taglib --disable-x265 --disable-gnutls

Make

 

五  打包发布

 

编译通过了,但是还没有得到能在Windows下面开发所需要的开发包,按照官网的建议,执行make package-win32-7zip,这个过程也是比较缓慢,哎呀,又报错了,如下:

 

Configure:error:package requirements(libvlc>=2.0.0)were not met:no package ‘libvlc’found。

 

查阅资料后使用如下指令:

LIBVLC_CFLAGS=-I/home/houmb/vlc-2.2.1/win32/_win32/include LIBVLC_LIBS="-L/home/houmb/vlc-2.2.1/win32/lib -lvlc" make package-win32-7zip

还是出错,如下:

 

Directory :vlc-2.2.1/npapi-vlc/common下面 编译vlc.cpp的时候找不到vlc.hpp

 

Npapi这好像是个网页插件,我觉得应该用不上,那就不编了,打开vlc-2.2.1/win32/Makedile,看了看,注掉package-win-npapi 的内容,重新执行

 

LIBVLC_CFLAGS=-I/home/houmb/vlc-2.2.1/win32/_win32/include LIBVLC_LIBS="-L/home/houmb/vlc-2.2.1/win32/lib -lvlc" make package-win32-7zip

 

如果运气好的话会看到 everything is ok  并在vlc-2.2.1/win32/下面生成一个压缩包。祝贺您,你成功获得了vlc在Windows下的开发包。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值