交叉編譯環(huán)境 Ubuntu 10.04 內(nèi)核版本 2.6.32 交叉工具鏈為 mipsel-linux-gcc-3.3
目錄結(jié)構(gòu)圖
|-opt |-home
|-include |- cross
|-bin |- SDL-1.2.13
|-lib |- SDL_image-1.2.10
|-share |- SDL_ttf-2.0.9
|- agar-1.3.4
|-Cross |- libpng-1.4.2
|-target |- freetype-2.4.3
|-local |- libiconv-1.13.1
|- expat-2.0.1
|- jpeg-7
|- zlib-1.2.5
6.編譯SDL-1.2.13
軟件名稱(chēng) |
SDL-1.2.13 |
功能描述 |
SDL是一個(gè)自由的跨平臺(tái)的多媒體開(kāi)發(fā)包,適用視頻音頻和其他應(yīng)用的軟件 |
下載地址 |
http://www.libsdl.org/download-1.2.php |
軟件版本 |
SDL-1.2.13.tar.gz |
依賴關(guān)系 |
默認(rèn) |
前置條件 |
源文件位置:$(work_dir)/SDL-1.2.13.tar.gz |
添加環(huán)境變量 export PATH=/Cross/target/local/bin:$PATH
# ./configure -–host=mipsel-linux -–prefix=/opt --build=i686-pc-linux –-disable-static \
–-disable-nasm –-disable-video-x11 –-disable-x11-shared –-disable-dga \ –-disable-video-dga –-disable-video-x11-dgamouse –-disable-video-x11-vm \
–-disable-video-x11-xv -–disable-video-x11-xinerama -–disable-video-x11-xme \ --disable-video-x11-xrander --disable-video-x11-dpms --disable-video-svga \ --enable-input-tslib --disable-esd --disable-esdtest --disable-esd-shared --without-x
# make
# make install
6.1SDL/test 范例編譯
# ./configure --host=mipsel-linux --prefix=/opt --without-x;
#make
提醒:若出現(xiàn)以下錯(cuò)誤請(qǐng)修改Makefile文件
ngson/cross-sdl/lib/libSDL.so, not found (try using -rpath or -rpath-link)
/home/loongson/cross-sdl/lib/libSDL.so: undefined reference to `libiconv_open'
/home/loongson/cross-sdl/lib/libSDL.so: undefined reference to `libiconv_close'
/home/loongson/cross-sdl/lib/libSDL.so: undefined reference to `libiconv'
collect2: ld returned 1 exit status
make: *** [checkkeys] Error 1
$ vim Makefile
>CFLAGS = -Wl,--rpath-link -Wl,/opt/lib -I/opt/include -I/opt/include/SDL -D_GNU_SOURCE=
1 -D_REENTRANT -I/usr/include
<CFLAGS = -g -O2
7.編譯SDL_image-1.2.10
軟件名稱(chēng) |
SDL_image-1.2.10 |
功能描述 |
SDL_image是用于處理圖形文件的開(kāi)源函數(shù)庫(kù) |
下載地址 |
http://www.libsdl.org/projects/SDL_image/ |
軟件版本 |
SDL_image-1.2.10.tar.tar |
依賴關(guān)系 |
默認(rèn) |
前置條件 |
源文件位置:$(work_dir)/SDL_image-1.2.10 |
添加環(huán)境變量 export PATH=/Cross/target/local/bin:$PATH
# ./configure --host=mipsel-linux --build=i686-pc-linux --prefix=/opt --with
-sdl-prefix=/opt --enable-jpg --enable-png :LIBPNG_CFLAGS=“-I/opt/include
libpng14” LIBPNG_LIBS=“-L/opt/lib -lpng14” LIBS=“-L/opt/lib ljpeg” CFLAGS= “-
I/opt/include”
#make
#make install
----------------------------若編譯報(bào)錯(cuò),請(qǐng)修改Makefile文件--------------------------
<CFLAGS= -I/usr/local/include/SDL
>CFLAGS= -I/opt/include/SDL
<LIBS = -Wl,rpath,/usr/local/lib -L /usr/local/lib –LSDL –lpthread
>LIBS=-Wl,rpath,/opt/lib –L/opt/lib –LSDL -lpthread
LIBPNG選項(xiàng) 添加成如下參數(shù)(默認(rèn)為空):
>LIBPNG_CFLAGS = -I/opt/include/libpng13
>LIBPNG_LIBS = -lpng14
>LIBS = -Wl,-rpath,/opt/lib/ -L/opt/lib -lSDL -lpthread
SDL_CFLAGS、SDL_LIBS選項(xiàng)也修改成如下
>SDL_CFLAGS = -D_GUN_SOURCE=1 -D_REENTRANT -I/opt/include/SDL
<SDL_CFLAGS = -D_GUN_SOURCE=1 -D_REENTRANT-I/usr/local/include/SDL
>SDL_LIBS = -Wl,-rpath,/opt/lib -L/opt/lib -lSDL -lpthread
<SDL_LIBS = -Wl,-rpath,/usr/local/lib -L/usr/local/lib -lSDL -lpthreaad
# make CC=mipsel-linux-gcc
# make install
8.編譯SDL_ttf
軟件名稱(chēng) |
SDL_ttf-2.0.9 |
功能描述 |
SDL_ttf是讓?xiě)?yīng)用程序能渲染漢字的擴(kuò)展庫(kù) |
下載地址 |
http://www.libsdl.org/projects/SDL_ttf/ |
軟件版本 |
SDL_ttf-2.0.9.tar.gz |
依賴關(guān)系 |
默認(rèn) |
前置條件 |
源文件位置:$(work_dir)/SDL_ttf-2.0.9 |
添加環(huán)境變量 export PATH=/Cross/target/local/bin:$PATH
# ./configure –-host=mipsel-linux –-build=i686-pc-linux –-prefix=/opt --with-
sdl-prefix=/opt --with-freetype-prefix=/opt --without-x LDFLAGS=“-L/opt/lib
-lSDL -liconv -lfreetype”
#make
#make install
----------------------若編譯不通過(guò),請(qǐng)修改Makefile文件,添加依賴關(guān)系--------------------
>CFLAGS = -g -O2 -I/opt/include/freetype2 -I/opt/include -I/opt/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -I/opt/include
<CFLAGS = -g -O2 -I/usr/local/include/freetype2 -I/usr/local/include -I/usr/local/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -I/usr/local/include
>FREETYPE_CONFIG = /opt/bin/freetype-config
<FREETYPE_CONFIG = /usr/local/bin/freetype-config
>LIBS = -L/opt/lib -lfreetype -L/opt/lib -Wl,-rpath,/opt/lib -lSDL -lpthread
<LIBS = -L/usr/local/lib -lfreetype -L/usr/local/lib -Wl,-rpath,/opt/lib -lSDL-lpthread
>SDL_CFLAGS = -I/opt/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT
<SDL_CFLAGS = -I/usr/local/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT
>SDL_CONFIG = /opt/bin/sdl-config
<SDL_CONFIG = /usr/local/bin/sdl-config
>SDL_LIBS = -L/opt/lib -Wl,-rpath,/opt/lib -lSDL,-lpthread
<SDL_LIBS = -L/usr/local/lib -Wl,-rpath,/usr/local/lib -lSDL,-lpthread
# make CC=mipsel-linux-gcc AR=mipsel-linux-ar RANLIB=mipsel-linux-ranlib CXX=mipsel-linux-g++
# make install
若出現(xiàn)以下錯(cuò)誤
/home/Cross/SDL_ttf-2.0.9/showfont.c:268:undefined reference to 'libiconv_open'
則修改149行參數(shù)為下圖所示
LDFLAGS = -L/opt/lib -lSDL -liconv -lfreetype
再
# make CC=mipsel-linux-gcc AR=mipsel-linux-ar RANLIB=mipsel-linux-ranlib CXX=mipsel-linux-g++
# make install
-By 甘甘 agumgum@live.com |