SDL 移植

原创作品:http://write.blog.youkuaiyun.com/postedit/7956383    

欢迎大家一起交流学习,知识在与分享。

希望结交一些志同道和之士 

QQ: 474530676

longguopeng168@163.com



编译tslib库

# tar -xvf tslib-1.4.tar.gz
# cd tslib
# ./autogen.sh
# ./configure --host=arm-linux --prefix=$PWD/../../output/arm-linux \
ac_cv_func_malloc_0_nonnull=yes
# make
# make install




编译iconv库
# tar -xvf libiconv-1.13.1.tar.gz
# cd libiconv-1.13.1
# ./configure --host=arm-linux --prefix=$PWD/../../output/arm-linux
# make
# make install




编译 freetype库
# tar xvf freetype-2.3.11.tar.gz
# cd /freetype-2.3.11
# ./configure  --host=arm-linux --enable-shared  --enable-static \
--prefix=$PWD/../../output/arm-linux
# make
# make install




编译SDL
# tar -xvf SDL-1.2.14.tar.gz
# cd SDL-1.2.14
# ./configure --prefix=$PWD/../../output/arm-linux --disable-video-nanox \
--disable-video-qtopia --disable-video-photon \
--disable-video-ggi --disable-video-svga --disable-video-aalib \
--disable-video-dummy --disable-video-dga --disable-arts --disable-esd \
--disable-alsa --disable-video-x11 --disable-nasm --enable-joystick \
--enable-input-tslib --enable-video-fbcon \
--disable-pulseaudio --disable-pulseaudio-shared \
--host=arm-linux --build=i386 \
CFLAGS="-I$PWD/../../output/arm-linux/include" \
LDFLAGS="-L$PWD/../../output/arm-linux/lib -lts -liconv "
# make
# make install




编译 jpeg库
# tar -xvf jpegsrc.v6b.tar.gz
# cd jpeg-6b
# ./configure  --host=arm-linux --prefix=$PWD/../../output/arm-linux \
--enable-shared --enable-static
修改 Makefile
23:CC= arm-linux-gcc
63:AR= arm-linux-ar rc
65:AR2= arm-linux-ranlib
# make
在输出文件下创建 man/man1文件夹
# make install


编译 zlib库
# tar -xvzf zlib-1.2.3.tar.gz
# cd zlib-1.2.3
# ./configure --prefix=$PWD/../../output/arm-linux --shared
修改 Makefile
19:CC=arm-linux-gcc
28:LDSHARED=arm-linux-gcc
29:CPP=arm-linux-gcc -E
36:AR=arm-linux-ar rc
37:RANLIB=arm-linux-ranlib
# make
# make install




编译 libpng库
# tar -xvf libpng-1.2.19.tar.gz
# cd libpng-1.2.19
# ./configure  --host=arm-linux \
--prefix=$PWD/../../output/arm-linux \
--enable-shared --enable-static \
CFLAGS="-I$PWD/../../output/arm-linux/include" \
LDFLAGS="-L$PWD/../../output/arm-linux/lib -lz"
# make
# make install




编译 libmad库
# tar xvzf libmad-0.15b.tar.gz
# cd libmad-0.15b
# ./configure  --host=arm-linux --prefix=$PWD/../../output/arm-linux
修改 Makefile 
129:将-fforce-mem 删除
# make
# make install




编译 libid3tag库
# tar -xvf libid3tag-0.15.1b.tar.gz
# cd libid3tag-0.15.1b
# ./configure  --host=arm-linux --prefix=$PWD/../../output/arm-linux \
CFLAGS="-I$PWD/../../output/arm-linux/include" \
LDFLAGS="-L$PWD/../../output/arm-linux/lib -lz"
# make
# make install




编译 SDL_image
# tar -xvf SDL_image-1.2.8.tar.gz
# cd SDL_image-1.2.8
#./configure --host=arm-linux --build=i386 \
--prefix=$PWD/../../output/arm-linux --disable-sdltest \
SDL_CFLAGS="-I$PWD/../../output/arm-linux/include" \
SDL_LIBS="-L$PWD/../../output/arm-linux/lib -lSDL" \
LIBPNG_CFLAGS="-I$PWD/../../output/arm-linux/include " \
LIBPNG_LIBS="-L$PWD/../../output/arm-linux/lib -lpng" \
CFLAGS="-I$PWD/../../output/arm-linux/include -I$PWD/../../output/arm-linux/include/SDL" \
LDFLAGS="-L$PWD/../../output/arm-linux/lib -ljpeg -lts -lpng -liconv -lz"
# make
# make install


编译 SDL_mixer库
# tar -xvf SDL_mixer-1.2.9.tar.gz
# cd SDL_mixer-1.2.9
# ./configure --host=arm-linux \
--prefix=$PWD/../../output/arm-linux \
--enable-music-mp3-mad-gpl --enable-music-mp3=no \
--enable-shared --enable-static \
--with-sdl-prefix=$PWD/../../output/arm-linux 
# make
# make install


编译 SDL_ttf库
# tar -xvf SDL_ttf-2.0.9.tar.gz
# cd SDL_ttf-2.0.9
# ./configure --host=arm-linux \
--prefix=$PWD/../../output/arm-linux --enable-shared --enable-static \
--disable-sdltest --with-freetype-prefix=$PWD/../../output/arm-linux \
--with-sdl-prefix=$PWD/../../output/arm-linux/ \
CFLAG="-I$PWD/../../output/arm-linux/include" \
LDFLAGS="-L$PWD/../../output/arm-linux/lib -lSDL -lts -liconv -lfreetype"
修改 Makefile 
123:去掉-I/usr/include -DHAVE_OPENGL
143:GL_LIBS = 
266:glfont_LDADD = libSDL_ttf.la -lm
修改 glfont.c
# echo "int main(void){return 0;}" > glfont.c
# make
# make install













SDL2.2.0.1的移植,包含SDL的每个参数的意思,包含交叉编译器的安装,包含移植过程中出错的处理方法。 --prefix=/usr/arm 安装SDL路径 --enable-shared=yes 构建共享库[开启] --enable-nasm 装配blitters x86上的nasm(汇编器) --enable-oss 启用支持oss声音的API --enable-alsa 启用支持ALSA声音的API --enable-alsa-shared 启用动态加载ALSA声卡的API --enable-pulseaudio 启用pulseaudio(脉冲音频) --enable-pulse-shared 启用动态加载脉冲音频支持 --enable-arts 启用支持Analog Read Time Synthesizer(模拟实时合成器) --enable-arts-shared 启用动态加载ARTS声卡的支持 --enable-joystick 启用joystick(控制杆)系统 --enable-cdrom 启用只读光盘系统[关闭] --enable-threads 启用多线程子系统 --enable-timers 启用计时器子系统 --enable-endian 大小端设置 --enable-file 启用文件系统 --enable-esd 支持Enlightened(文明)声音后台程序 --enable-nas 支持NAS(网络连接存储)声卡API --enable-diskaudio 支持磁盘写入声卡驱动 --enable-dummyaudio 支持虚拟声卡驱动 --enable-altivec 使用altivec装配位块传送器在PPC上 --enable-video-x11 使用x11视频驱动 --enable-dga 允许使用x1 DGA代码 --enable-video-x11-vm 使用x11 vm延长全屏 --enable-video-x11-dgamouse 使用x11 DGA鼠标事件 --enable-video-x11-xv 使用x11 xv音像延长视频 --enable-video-x11-xinerama 启动x11多银幕支持 --enable-video-dga 使用DGA2.0视频驱动 --enable-video-directfb 启用DirectFB视频驱动 --enable-video-photon 使用QNX(嵌入式实时系统)光子视频驱动 --enable-video-ps2gs 使用PS(游戏机)2 GS视频驱动 --enable-video-opengl 包括OpenGL(开放图形语言)创建上下文 --enable-video-pth 使用GNU pth库对多线程 --enable-pthreads 使用POSIX线程(可移植操作系统)对多线程 --enable-pthread-sem 使用多线程信号 --enable-input-events 使用Linux-2.4统一输入接口 --enable-input-tslib 使用Touchscreen库输入
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值