(一)搭建編譯環(huán)境
(1)安裝Cygwin。
下載地址:http://www.cygwin.com/setup.exe
以下選項(xiàng)為必選項(xiàng)(好象是不全),版本全按最新的,條件允許的話,可以全部安裝。占用空間比較大。
Archive
unzip (5.52-2)
zip (2.32-2)
Devel
autoconf (4-1 2.13-3 2.61-1)
automake (2-1 1.10-1 1.4p6-4 1.5-2 1.63-3 1.7.9-3 1.8.5-3 1.9.6-2)
binutils (20080624)
cvs (1.11.22-1)
gcc (3.4.4-3)
gcc-core (3.4.4-3)
gcc-g++ (3.4.4-3)
gcc-mingw (20040810-1)
gcc-mingw-core (20050522-1)
gcc-mingw-g++ (20050522-1)
gdb (6.8-2)
gettext (0.15-1)
gettext-devel (0.15-1)
git (1.6.0.2-1)
libiconv (1.11-1)
libgcrypt-devel (1.41-4)
libtool (1.5.27a-1)
make (3.81-2)
mingw-runtime (3.15.1-1)
nasm (2.02-1)
patchutils (0.2.31-2)
pkg-config (0.23a-2)
subversion (1.5.2-1)
Editor
vim (7.2-3)
Libs
expat (2.0.1-1)
libgcrypt (1.4.1-4)
Web
curl (optional: for building extras/contrib) (7.16.3-1)
wget (optional: for building extras/contrib) (1.11.3-1)
(2)安裝mingw32ce。
下載地址:
http://cdnetworks-kr-2.dl.sourceforge.net/project/cegcc/cegcc/0.59.1/cegcc_mingw32ce_cygwin1.7_r1375.tar.bz2
解壓命令:tar xjf arm-mingw32ce-0.59.1.tar.bz2 -C
在windows下解壓也行,但有的時(shí)候會(huì)少文件,最好用linux命令解壓,解壓完拷貝到/opt/mingw32ce (默認(rèn)解壓在當(dāng)前目錄,這個(gè)包是個(gè)壓縮包,沒(méi)有路徑)。
(3)安裝第三方庫(kù)。
下載地址:
http://download.videolan.org/pub/testing/contrib/contrib-20091114-wince-bin-gcc-4.1.0-runtime-3.15.2-only.tar.bz2
解壓到:
/usr/wince
注意一個(gè)問(wèn)題:此處下載的庫(kù),一定要和VLC代碼匹配。
(4)下載VLC代碼。
下載地址:
http://download.videolan.org/pub/videolan/vlc/1.0.5/vlc-1.0.5.tar.bz2
解壓目錄:
\home\UserName\vlc-1.0.5\
并且進(jìn)入該目錄執(zhí)行:
./bootstrap
一般沒(méi)有錯(cuò)誤,可能出現(xiàn)的錯(cuò)誤:
+ aclocal-1.9 -I m4
/usr/bin/m4:configure.ac:4643: cannot create temporary file for diversion: Permission denied
autom4te-2.61: /usr/bin/m4 failed with exit status: 1
aclocal-1.9: autom4te failed with exit status: 1
分析:殺毒軟件有關(guān)系。
解決方法:關(guān)閉殺毒軟件重新運(yùn)行./bootstrap。
至此準(zhǔn)備工作就完成。
(二)配置編譯選項(xiàng)
建立一個(gè)conf-vlc.sh文件,建議用UltraEdit打開,編輯,如果直接文本編輯的話最后編輯完的文件需要用
dos2unix conf-vlc.sh
轉(zhuǎn)換腳本的編碼格式。(注意行尾的空格和斜線,最后一行只有空格沒(méi)有斜線)。文件的開始幾行是設(shè)置一些路徑,一般也不需要修改。后邊部分主要是對(duì)VLC的功能的添加和刪除。有很多選項(xiàng)都有默認(rèn)值,具體請(qǐng)執(zhí)行命令:
./configure –help > conf.txt
后,在conf.txt中查看具體選項(xiàng)設(shè)置說(shuō)明。
下面的列出的是,VLC1.0.5版本設(shè)置成功的conf-vlc.sh
PATH=/opt/mingw32ce/bin:$PATH \
CPPFLAGS="-I/usr/wince/include -D_WIN32_WCE=0x0500" \
LDFLAGS="-L/usr/wince/lib" \
PKG_CONFIG_LIBDIR=/usr/wince/lib/pkgconfig \
./configure --host=arm-mingw32ce \
--enable-dshow --enable-bda --disable-hal --disable-activex --disable-vlc \
--disable-directx --disable-dvdnav --disable-libgcrypt --enable-wingdi \
--disable-remoteosd --disable-sdl --disable-skins2 \
--disable-faad --enable-mad --enable-wingdi --enable-waveout \
--enable-mkv --enable-httpd --enable-libmpeg2 --enable-ogg \
--enable-live555 --enable-realrtsp --enable-bda \
--enable-ffmpeg --with-ffmpeg-mp3lame --with-ffmpeg-faac \
--with-ffmpeg-zlib --enable-faad --enable-flac --enable-theora \
--enable-csri --enable-libass --enable-asademux --enable-freetype=/usr/wince/freetype-2.3.12 \
--enable-release --enable-disable --enable-optimizations --enable-sse --enable-mmx --enable-optimize-memory
編輯完conf-vlc.sh文件,執(zhí)行腳本:
./conf-vlc.sh
如果腳本遇到了類似Permission denied的錯(cuò)誤,提升腳本的權(quán)限:
chmod 777 configure-vlc01.sh
如果還有錯(cuò)誤,一般是對(duì)應(yīng)的庫(kù)沒(méi)有,或者版本不對(duì)。
見到以下內(nèi)容說(shuō)明腳本運(yùn)行成功了。
You can tune the compiler flags in vlc-config.
To build vlc and its plugins, type `./compile' or `make'.
至此配置工作就完成了
(三)編譯代碼
執(zhí)行命令:
make
如果剛執(zhí)行幾行就出現(xiàn)錯(cuò)誤,請(qǐng)重新設(shè)置PATH,命令:
PATH=/opt/mingw32ce/bin:$PATH
如果中途遇到關(guān)鍵字atoll的錯(cuò)誤,打開config.h搜索關(guān)鍵字atoll
注掉以下代碼:
#define HAVE_ATOLL 1
如果中途遇到關(guān)鍵字iconv的錯(cuò)誤,打開config.h搜索關(guān)鍵字iconv
注掉以下代碼:
#define HAVE_ICONV 1
再遇其他錯(cuò)誤,檢查lib是否正確,實(shí)在不行將相關(guān)模塊在conf-vlc.sh
中disable掉。(需要重新運(yùn)行conf-vlc.sh)
最后打包。
執(zhí)行:
make package-wince
就能直接將生成的文件打包成vlc-1.0.5.zip
或者執(zhí)行:
make package-wince-base
得到一個(gè)vlc-1.0.5的目錄
至此我們就能得到我們要的DLLs了
原地址:
http://bk6.blog.163.com/blog/static/24498560201051193449196/