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下的开发包。