日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

使用Cygwin实现vlc 1.0.5的wince移植

發布時間:2023/12/18 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用Cygwin实现vlc 1.0.5的wince移植 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文完全參照了天將降的博客文章,寫于此以作來日備忘之用,原文地址:http://bk6.blog.163.com/blog/static/24498560201051193449196/

第一步:下載安裝Cygwin。筆者建議大家不要安裝不完整的版本,以免出現不必要的錯誤。之前就是用了網上下的一個300多兆的簡化版本,結果編譯會出現缺少編譯器等錯誤。Cygwin沒有必要下載最新的,只要是完整版本就好。最后提醒大家在線安裝Cygwin的過程相當漫長,而且會有下到一大半時報錯無法下載的問題,強烈建議選擇Use IE5 Settings的方式下載

安裝Cygwin時如下選項是必選項:

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)

這里還是建議硬盤空間大的話,完全安裝!!

第二步:編譯前的準備工作

源碼下載:vlc-1.0.5.tar.bz2
http://download.videolan.org/pub/videolan/vlc/1.0.5/vlc-1.0.5.tar.bz2
交叉編譯器:mingw32ce-0.59.1.tar.bz2
http://cdnetworks-kr-2.dl.sourceforge.net/project/cegcc/cegcc/0.59.1/cegcc_mingw32ce_cygwin1.7_r1375.tar.bz2
第三方庫:contrib-20091114-wince-bin-gcc-4.1.0-runtime-3.15.2-only.tar.bz2
http://download.videolan.org/pub/testing/contrib/contrib-20091114-wince-bin-gcc-4.1.0-runtime-3.15.2-only.tar.bz2
注:比較麻煩的是第三方庫,這個版本比較老,提供的第三方庫也不完整,需要自己做一些修改。(可以根據執行configure腳本時的提示做對應到改動)

第三步:將mingw32ce-0.59.1.tar.bz2解壓至/opt目錄下;
將contrib-20091114-wince-bin-gcc-4.1.0-runtime-3.15.2-only.tar.bz2(這里我是用自己修改后的第三方庫)解壓至/usr目錄下;
將源碼vlc-1.0.5.tar.bz2解壓至/home/"yourname"目錄下;

完成該步驟后,你會看到:/opt/mingw32ce /usr/wince /home/"yourname"/vlc-1.0.5這三個目錄

第四步:根據/vlc-1.0.5目錄下configure文件編寫腳本文件con-105.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
注:此腳本文件一定要注意每行末尾不要有多余的空格,否則會出錯。

第五步:執行腳本文件 ./con-105.sh

執行前,如果你是用文本編輯器編寫的腳本,需要先運行命令:dos2unix con-105.sh
這里最好用root用戶來執行,否則會出現權限錯誤提示(當然你也可以用chmod 777 con-105.sh來修改此文件的權限);


第六步:編譯代碼?? 執行命令:make
執行的過程中遇到如下錯誤,都找到了相應的解決方法.....

問題一:剛執行幾行就出現錯誤

解決:可能是指定的路徑沒有生效,重新設置PATH,命令:PATH=/opt/mingw32ce/bin:$PATH

問題二:.libs/libaccess_realrtsp_plugin_la-access.o:access.c:(.text+0x6b8): undefined reference to `closesocket'
.libs/libaccess_realrtsp_plugin_la-access.o:access.c:(.text+0x6b8): relocation truncated to fit: ARM_26 against undefined symbol `closesocket'
collect2: ld returned 1 exit status
make[6]: *** [libaccess_realrtsp_plugin.la] 錯誤 1

解決:修改vlc_network.h中`closesocket'的定義;

問題三:如果中途遇到關鍵字atoll的錯誤,打開config.h搜索關鍵字atoll

注掉以下代碼:#define HAVE_ATOLL 1

如果中途遇到關鍵字iconv的錯誤,打開config.h搜索關鍵字iconv

注掉以下代碼:#define HAVE_ICONV 1

第七步:打包

執行:make package-wince
就能直接將生成的文件打包成vlc-1.0.5.zip
或者執行:make package-wince-base
得到一個vlc-1.0.5的目錄

遇到問題:# make package-wince
OK.
cp "./bin/.libs/vlc.exe" "./vlc-1.0.5/"
cp: 無法 stat “./bin/.libs/vlc.exe”: 沒有該文件或目錄
make: *** [package-win-common] 錯誤 1

解決辦法:在/home/micro/vlc-1.0.5目錄下新建.libs文件夾,并將vlc.exe拷進該文件夾,然后重新執行make package-wince命令即可。

至此我們就得到了VLC 1.0.5對應的wince版本的DLLS。(注:由于后續版本中VLC已經不再為wince提供界面支持,所以我們編譯的最后只能生成可供調用的DLLS,并無可以直接運行的界面)

總結

以上是生活随笔為你收集整理的使用Cygwin实现vlc 1.0.5的wince移植的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。