标签:
https://wiki.videolan.org/Win32Compile按照官网教程,安装所需工具,参考 :http://qjw.qiujinwu.com/blog/2014/12/08/cross_build_vlc_in_linux
git vlc: git clone git://git.videolan.org/vlc.git vlc
vlc版本:3.0.0-git
cd vlc/contrib
mkdir win32 && cd win32
../bootstrap --host=i686-w64-mingw32make prebuilt
不知道要不要移除,反正我移除了:rm -f ../i686-w64-mingw32/bin/moc ../i686-w64-mingw32/bin/uic ../i686-w64-mingw32/bin/rcc
编译自己的ffmpeg来进一步缩小体积:下载ffmpeg2.5,另存为vlc/contrib/tarballs/ffmpeg-HEAD.tar.gz,去掉contrib/src中的其他目录,除了ffmpeg,gsm,lame,openjpeg,zlib及一些sh和mak文件,
make fetch,会下载gsm,lame,openjpeg,zlib的包。
修改contrib/src/ffmpeg/rules.mak:在中间加上下面一段,去掉不需要的解码器,复用器,协议等
修改contrib/win32/config.mak:
在contrib/win32目录make,会编译精简版的ffmpeg,生成的.o会替换掉contrib/i686-w64-mingw32的同名文件。链接的时候会链接自己编译的链接库。
cd 到vlc的根目录
mkdir win32 && cd win32
添加pkgconfig路径,不然编译vlc的时候会找不到外部库:
export PKG_CONFIG_LIBDIR=$HOME/vlc/contrib/i686-w64-mingw32/lib/pkgconfig
编译vlc:
会需要一些库,自己添加比如iconv,然后
make package-win-common,会把编译好的所有文件放到vlc/win32/vlc-版本号 文件夹中,进入上述文件夹中:
find . -name "*.dll" -type f | xargs -i strip --strip-all {}
去掉dll中的调试信息。
生成的所有所需插件都在plugins中,经过筛选,仅留下下列dll:
libavformat_plugin.dll
libavcodec_plugin.dll
libfilesystem_plugin.dll
libdirect3d_plugin.dll
libdrawable_plugin.dll
libwaveout_plugin.dll
libaudio_format_plugin.dll
libpacketizer_flac_plugin.dll
转载:http://blog.csdn.net/sx5486510/article/details/43117559
标签:
原文地址:http://www.cnblogs.com/canphp/p/4475514.html