在Linux上编译Windows上运行的VLC
1,GCC版本信息
#gcc -v
Using built-in specs.
Target: i686-linux-gnu
gcc version 4.4.5 (Ubuntu/Linaro 4.4.4-14ubuntu5)
2,安装必须的工具包否则后面会出错
#apt-get install autoconf automake libtool git subversion
3,安装win32下编译工具
#apt-get install gcc-mingw32 mingw32-binutils
4.安装最新的VLC
#cd /home/git_work
#git clone git://git.videolan.org/vlc.git
5.进入vlc目录,进入第三方包目录
#cd vlc
#mkdir -p contrib/win32
#cd contrib/win32
6.配置并编译第三方包
#../bootstrap --host=i586-mingw32msvc
Guessing build system... i686-linux-gnu
Creating configuration file... config.mak
Bootstrap completed.
Run "make" to start compilation.
Other targets:
* make install same as "make"
* make prebuilt fetch and install prebuilt binaries
* make list list packages
* make fetch fetch required source tarballs
* make fetch-all fetch all source tarballs
* make distclean clean everything and undo bootstrap
* makemostlyclean clean everything exceptsource tarballs
* make clean clean everything
* make package prepare prebuilt packages
#make prebuilt
Fixingup ./lib/libdvdread.la
Fixingup ./lib/libfreetype.la
Fixingup ./lib/libzvbi.la
Fixingup ./lib/libresid-builder.la
Fixingup ./lib/libschroedinger-1.0.la
Fixingup ./lib/libFLAC.la
Fixingup ./change_prefix.sh
7.回到vlc根目录
#cd ../..
#./bootstrap
+ rm -fpo/Makevars.template ABOUT-NLS
+ echo
+ mv -fINSTALL.git INSTALL
+ rm -f stamp-h*
+ set +x
Successfullybootstrapped
8.配置makefile
#mkdir win32 && cd win32
#../extras/package/win32/configure.sh --host=i586-mingw32msvc
checking forLUA... no
configure:WARNING: No package 'lua5.1' found, trying lua >= 5.1 instead
checking forLUA... yes
checking forluac... no
出错就安装
#apt-get install lua5.1
再
#../extras/package/win32/configure.sh --host=i586-mingw32msvc
libvlcconfiguration
--------------------
version : 2.1.0-git
system : mingw32
architecture : i586 mmx sse sse2
optimizations : yes
vlcaliases : cvlc rvlc qvlc svlc
Tobuild vlc and its plugins, type `./compile' or `make'.
9.编译
#make
10.打包
#make package-win32-zip
11.在vlc/win32目录下可以找到vlc-2.1.0-git-win32.zip文件,复制到windows目录下,解压缩即可运行