移植SDL2.0到嵌入式开发板过程

10 篇文章 0 订阅

移植SDL2.0到210开发板,正在进行中,隔一段时间把文章写全,下面是调试中用的命令,每实验一次编译都得花10多分钟

实验平台:tiny210

要把SDL移植到开发板上显示图片或者支持事件响应,要先移植directfb库,而SDL2的源码文档里说了支持的directFB版本为1.1.0 1.2.x 和1.3.0,这里我选择的是1.2.7

directfb1.2.7,下载地址,

http://download.csdn.net/detail/u012075739/7337589

编译Ddirectfb需要4个依赖库 分别为libpng,jpegsrc,zlib,freetype

我实验时依赖库的下载地址为为

http://download.csdn.net/detail/u012075739/7314421

http://download.csdn.net/detail/u012075739/7337581

http://download.csdn.net/detail/u012075739/7337553

http://download.csdn.net/detail/u012075739/7337493

下载完成后需要先安装这几个库,具体安装方法百度或者看我前面转载的文章

http://blog.csdn.net/u012075739/article/details/25159849

然后开始DIRECTFB的编译

配置directfb


./configure --host=arm-none-linux-gnueabi --prefix=/gzz/cross_compile/SDL --disable-x11 --enable-debug -disable-voodoo -disable-mmx --disable-see --enable-sdl --enable-jpeg --enable-zlib --enable-png --disable-gif --enable-freetype --disable-video4linux --disable-video4linux2 --with-gfxdrivers=none --with-inputdrivers=linuxinput CPPFLAGS="-I/gzz/cross_compile/SDL/include"   LDFLAGS="-L/gzz/cross_compile/SDL/lib -lfreetype -ljpeg -lz"

make   ; make install

安装完成后就可以安装SDL了

SDL2,0源码下载

http://download.csdn.net/detail/u012075739/7337539

配置SDL2.0

./configure --prefix=/gzz/cross_compile/SDL --host=arm-linux --build=i386 --with-gnu-ld --disable-video-wayland --disable-video-wayland-qt-touch --disable-pulseaudio --disable-video-dummy --disable-arts --disable-esd --disable-alsa --disable-video-x11 --enable-joystick --enable-input-tslib --enable-video-directfb --disable-video-mir  CPPFLAGS="-I/gzz/cross_compile/SDL/include"   LDFLAGS="-L/gzz/cross_compile/SDL/lib -lts -liconv"

make   ; make install

完成安装了,具体遇到什么问题可以问我,


附录:

gcc交叉编译

arm-linux-gcc -I/gzz/cross_compile/SDL/include/SDL2 -L/gzz/cross_compile/SDL/lib testshape.c -o testshape -lSDL2 -liconv -ldirectfb -ldirect -lfusion

cp testshape /opt/FriendlyARM/mini210/linux/rootfs_qtopia_qt4/

配置SDL1.0

./configure --prefix=/gzz/cross_compile/sdl1.0  --host=arm-linux   --build=i386  --with-gnu-ld   --disable-video-nanox  --disable-video-qtopia   --disable-pulseaudio   --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 CPPFLAGS="-I/gzz/cross_compile/SDL/include"   LDFLAGS="-L/gzz/cross_compile/SDL/lib -lts -liconv"

gcc交叉编译SDL1.0

 arm-linux-gcc -L/gzz/cross_compile/sdl1.0/lib -L/gzz/cross_compile/SDL/lib -I/gzz/cross_compile/sdl1.0/include/SDL bmp_test.c -o bmp_test -lSDL -liconv

cp testshape /opt/FriendlyARM/mini210/linux/rootfs_qtopia_qt4/

http://---www.360doc.com/content/---12/0808/14/8053702_22---9011419.----shtml




 ./configure --host=arm-none-linux-gnueabi --prefix=/gzz/cross_compile/SDL --disable-x11 --enable-debug -disable-voodoo -disable-mmx --disable-see --enable-sdl --enable-jpeg --enable-zlib --enable-png --disable-gif --enable-freetype --disable-video4linux --disable-video4linux2 --with-gfxdrivers=none --with-inputdrivers=all CPPFLAGS="-I/gzz/cross_compile/SDL/include"   LDFLAGS="-L/gzz/cross_compile/SDL/lib -lfreetype -ljpeg -lz"


因为编译directfb时的路径配置问题,所以在开发板上运行时,需要加这么一句
export DFBARGS=module-dir=usr/lib/directfb-1.2-0

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库输入
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值