移植SDL2.0到210开发板,正在进行中,隔一段时间把文章写全,下面是调试中用的命令,每实验一次编译都得花10多分钟
实验平台:tiny210
要把SDL移植到开发板上显示图片或者支持事件响应,要先移植directfb库,而SDL2的源码文档里说了支持的directFB版本为1.1.0 1. 和1.3.0,这里我选择的是1.2.7
directfb1.2.7,下载地址,
/detail/u012075739/7337589
编译Ddirectfb需要4个依赖库 分别为libpng,jpegsrc,zlib,freetype
我实验时依赖库的下载地址为为
/detail/u012075739/7314421
/detail/u012075739/7337581
/detail/u012075739/7337553
/detail/u012075739/7337493
下载完成后需要先安装这几个库,具体安装方法百度或者看我前面转载的文章
/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源码下载
/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
完成安装了,具体遇到什么问题可以问我,
附录:
arm-linux-gcc -I/gzz/cross_compile/SDL/include/SDL2 -L/gzz/cross_compile/SDL/lib -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://---/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