zoukankan      html  css  js  c++  java
  • (未完成)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 

  • 相关阅读:
    Mongodb新增的聚合方法及其Java客户端
    转载:mongoDB java驱动学习笔记
    笔记:Java反射以及动态代理
    转载:在恰当的地方使用MongoDB的WriteConcern.SAFE参数
    去Oracle事件(转)
    笔记:J2EE核心模式(待补充)
    笔记:MongoDB 基础学习
    转载:PostgreSQL SQL的性能调试 方法3-- 查 看 执 行 计 划
    转载: PostgreSQL SQL的性能调试方法2--数据库log分析
    matlab怎么设置默认路径
  • 原文地址:https://www.cnblogs.com/schips/p/11525509.html
Copyright © 2011-2022 走看看