ARM-linux 移植 SDL
ref : https://blog.csdn.net/u012075739/article/details/24877639
? 2.????? 交叉编译SDL 编译SDL前先要编译其依赖库 tslib、libiconv ? Tslib $ cd tslib-1.4 $ sudo apt-get install libtool automake autoconf $ ./autogen.sh ? $ echo "ac_cv_func_malloc_0_nonnull=yes"> arm-linux.cache $ ./configure ?--prefix=/xyq/cross_compile/SDL ?--host=arm-linux ?--cache-file=arm-linux.cache $ make $ make install ? Libiconv $ cd ../libiconv-1.14 $ ./configure ?--prefix=/xyq/cross_compile/SDL ?--host= arm-linux ? --with-gnu-ld $ make $ make install ? SDL? $ cd ../SDL-1.2.14 $ ./configure --prefix=/xyq/cross_compile/SDL ?--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/xyq/cross_compile/SDL/include" ? LDFLAGS="-L/xyq/cross_compile/SDL/lib -lts-liconv" $ make $ make install ? 3. ? ??SDL测试程序交叉编译 SDL的测试程序在SDL源码目录的test目录下。 1)进入test目录,执行如下configure脚本生成Malefile $ ./configure?--prefix=/xyq/cross_compile/SDL ?--host=arm-linux NM=arm-linux-nm LD=arm-linux-ld ? ??CC=arm-linux-gcc CXX=arm-linux-g++?AR=arm-linux-ar ?? 2)Makefile默认是编译所有测试程序,但是在ARM上,游戏杆和opengl测试无法编译通过,要从Makefile文件中TARGETS去掉testgl,testjoystick的编译. ? ? ? 另外,默认的测试的路径指向是X86版,最简单的办法,可以手工修改Makefile调成ARM版。将 ? ? ? ? ? ? ?改成: ? ? ?? ? ? ? 之后 $ make 将在当前目录生成可执行文件。 ? ? 4. ?? SDL程序的测试 ?? ??先将SDL编译结果移植到ARM,分别是将编译得到的lib、bin分别拷到ARM的/usr/lib、/usr/bin。再将测试可执行文件拷到ARM,注意要改变其可执行权限。 注意SDL的运行时必须指定MOUSE设备.如使用tslib,则用如下命令设置SDL使用tslib. ????? $ export SDL_MOUSEDRV=TSLIB ? ??如果没有任何输入设备,则环境变量?export SDL_NOMOUSE=1?,否则初始化会提示:Couldn‘t initializeSDL:Unable to open mouse ? 接下来用SDL自带的testalpha来测试是否SDL下tslib是否正常工作.运行这个程序,如果在点击处准确出现黄色色块,表示tslib与SDL配合完合成功,以下是在320*240bpp=16的开发板的实测的截图. ? ? ? ? ? ? 5.?????SDL_image移植 有SDL本身所支持的仅仅是bmp格式的图片,要使用其他格式的图片就要使用其扩充库SDL_image,以下是编译过程: $ cd ../SDL_image-1.2.8 $ ./autogen.sh $ ./configure --prefix=/xyq/cross_compile/SDL ?--host= arm-linux ? –-enable-shared ?--build=i386 ?–-enable-static??-–enable-bmp ?-–enable-gif ?-–enable-jpg ?-–enable-png ?-–enable-tif ?-–enable-pnm ?-–enable-xpm ?–disbale-sdltest? SDL_CFLAGS=”-I/xyq/cross_compile/SDLnclude/SDL” ? SDL_LIBS=”-L/xyq/cross_compile/SDL/lib -lSDL” LIBPNG_CFLAGS="-I/xyq/cross_compile/SDL/include"?? LIBPNG_LIBS="-L/xyq/cross_compile/SDL/lib-lpng" CPPFLAGS="-I/xyq/cross_compile/SDL/include" LDFLAGS="-L/xyq/cross_compile/SDL/lib -ljpeg-lts -liconv" $ make $ make install? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |