免费高清特黄a大片,九一h片在线免费看,a免费国产一级特黄aa大,国产精品国产主播在线观看,成人精品一区久久久久,一级特黄aa大片,俄罗斯无遮挡一级毛片

分享

SDL移植

 我是山芋 2010-11-04
•SDL簡介
SDL是一個自由的跨平臺的多媒體開發(fā)包,適用于 游戲、游戲SDK、演示軟件、模擬器、 MPEG播放器和其他應用軟件。是為數(shù)不多的商業(yè)游戲開發(fā)公司使用的免費軟件庫之一。它提供跨平臺的二維幀緩沖區(qū)圖形和音頻服務,它支持 Linux、Win32 和 BeOS。也不同程度地支持其它平臺,包括 Solaris、IRIX、FreeBSD 和 MacOS。除了大量的服務,包括線程、獨立于字節(jié)存儲次序的宏和 CD 音頻,SDL
 還提供了一個簡單的 API,它允許您盡可能接近本機硬件。使用 SDL 有三重優(yōu)點:穩(wěn)定、簡單和靈活。
•穩(wěn)定 。如果 SDL 不向 API 提供可靠的支持,那么那些愛好者和商業(yè)公司就不能使用它。因為使用了 SDL,就添加了錯誤修正并增強了性能,也就加強了 API 的強健性。就像內(nèi)核開發(fā)是分步進行的,SDL 的開發(fā)也是分步進行的,其中一部分是可靠穩(wěn)定的 API,其它部分是新功能和構思的沙箱。
•簡單 。SDL 被設計成一個簡單的 API,以最少的代碼實現(xiàn)您的構思。
•靈活 。返回到上面的 Optimum 演示代碼示例,只要移植到 SDL,并確定一些數(shù)據(jù)假設,那么根本不必改動代碼,演示就可以在 Win32、BeOS 和 Linux 控制臺上運行了。靈活性的另一方面體現(xiàn)在盡管代碼完全是跨平臺的,但不會把您和底層實現(xiàn)隔開。SDL 提供了函數(shù) SDL_GetWMInfo(),該函數(shù)可以讓您訪問底層驅(qū)動程序的專用窗口信息。

•在PC機上安裝SDL開發(fā)環(huán)境
和Linux下其他的軟件庫一樣,SDL同樣具有很強的移植性!我們所要做的就是在PC機上編寫應用程序,調(diào)試通了以后就可以交叉編譯移植到ARM板子上。到http://www./download-1.2.php 下載SDL-1.2.13 (stable),然后進行安裝,由于后面的交叉編譯的是`tar.xx`
源碼包,所以建議在PC機上使用`tar.xx`包進行安裝。
安裝前請先查看是否安裝有SDL,如果有請先卸載,如果你的系統(tǒng)使用的是`rpm軟件安裝包管理器`可以使用下面的命令進行查看:
# rpm -qa |grep SDL
如果使用`dpkg軟件包管理器`,可以使用:
# dpkg -s SDL
下一步開始安裝,這里以SDL-1.2.13.tar.gz 為例:
# cd /tmp
# wget http://www./release/SDL-1.2.13.tar.gz
# tar zxf SDL-1.2.13.tar.gz
# cd SDL-1.2.13
# ./configure --help
使用上面這條命令用來查看`configure`選項信息,然后在這些選項中篩選必要的選項。
# ./configure --prefix=/usr/local/SDL  --disable-video-x11  2>&1 | tee conf_log
`--prefix=/usr/local/SDL`是SDL的安裝目錄,此目錄可以自己設定。
由于我的系統(tǒng)沒有x11的開發(fā)環(huán)境,并且也不會用到SDL操作x11,因此我使用了`--disable-video-x11`這個選項。
參數(shù)`2>&1 | tee conf_log`的意思是把configure的信息輸出到終端的同時寫入到`conf_log`中,這個參數(shù)很有用,我們可以不用一直
盯著屏幕看是否報錯,等編譯完成后直接查看`conf_log`這個文件即可,以后在`configure`、`make`等操作時,建議使用這個參數(shù)。
如果沒有錯誤,執(zhí)行:
# make 2>&1 | tee make_log
# make install
OK.PC 機上SDL安裝完成。下面編譯SDL的例子程序做測試:
# cd test
# ./configure --with-sdl-prefix=/usr/local/SDL
# make
# ./testwin
如果在屏幕上出現(xiàn)一張圖片閃過說明SDL編譯成功。

•交叉編譯SDL庫
由于ARM板的資源有限,不可能把所有的選項都開啟,因此我們需要根據(jù)實際情況進行選擇,下面的選項一般可以滿足我們的要求:
# ./configure --prefix=/work/SDL_arm CC=arm-linux-gcc  --host=arm-linux --target=linux --disable-debug --disable-cdrom --disable-esd --disable-arts  --disable-arts-shared --disable-diskaudio --disable-nas --disable-esd-shared --disable-mintaudio --disable-nasm --disable-video-x11 --disable-video-dga  --disable-dga --disable-video-ps2gs --disable-video-xbios --disable-video-gem --disable-video-opengl --disable-directx --disable-stdio-redirect --disable-osmesa-shared 2>&1 | tee conf_log
如果沒有報錯就可以進行編譯:
# make 2>&1 | tee make_log
如果報錯的話就需要根據(jù)出錯信息調(diào)整一下`configure`的選項參數(shù)后編譯(參數(shù)調(diào)整后沒有必要`make clean`,直接`make` 就行了,make工具會智能的探尋哪些目標需要編譯)。如果沒有錯誤就可以`make install`了。
# make install
下一步測試交叉編譯的SDL庫是否能在ARM上正常使用。
交叉編譯SDL的例子程序
# cd test
# ./configure CC=arm-linux-gcc --host=arm-linux --with-sdl-prefix=/work/SDL_arm
# make
如果報錯的話,根據(jù)錯誤提示進行修改。
把交叉編譯的庫通過nfs服務器 共享到ARM板。
# cp /work/SDL_arm/lib/libSDL-1.2.so.0.11.2 $NFS_ROOTDIR
# cp ./testwim $NFS_ROOTDIR
做SDL庫文件的軟鏈接(SDL動態(tài)庫使用libSDL-1.2.so.0這個名字提供服務)。
# cd $NFS_ROOTDIR
# ln -s libSDL-1.2.so.0.11.2 libSDL-1.2.so.0
執(zhí)行下列操作:
•啟動nfs服務器
•啟動ARM
•通過minicom 登錄ARM
•掛載nfs共享文件夾
•運行例子程序`testwin`
如果運行成功就說明移植成功,失敗的話不用心慌,認真的參考出錯信息查找出錯原因。
本文來自CSDN博客,轉(zhuǎn)載請標明出處:http://blog.csdn.net/lxb316/archive/2009/12/05/4948713.aspx

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多