SDL以及扩展库的交叉编译过程简介

核能气质少年 提交于 2019-12-01 23:32:44

**********************************
                     Writen by Rao                     

        2012年04月20日 星期五 21时57分16秒     

**********************************

下面我介绍一下SDL以及SDL的扩展库在arm11上的交叉编译
在这里我将SDL 交叉编译的相关都安装在/opt/arm目录下

相关简介:
SDL官方网站 http://www.libsdl.org/
SDL编译移植(Up-teach6410平台)
系统环境:linux
移植环境:arm11
编译工具链:gcc-4.3.1(系统默认工具链)

1.1 编译jpeg-7
软件名称 libjpeg
功能描述 libjpeg是一个用c语言编写支持jpeg解码、编码的库
下载地址 http://linux.softpedia.com/get/Programming/Libraries/libjpeg-160.shtml
软件版本 jpegsrc.v7.tar.gz
依赖关系 默认

1.2 编译libiconv-1.14
软件名称 libiconv
功能描述 libiconv库为需要做转换的程序,实现了一个字符编码到另一个字符编码的转换
下载地址 http://www.gnu.org/software/libiconv/#downloading
软件版本 libiconv-1.14.tar.gz
依赖关系 默认

1.3 编译libpng-1.5.10
软件名称 libpng
功能描述 libpng是多种应用程序所使用的解析PNG图形格式的函数库
下载地址 http://www.libpng.org/pub/png/libpng.html
软件版本 libpng-1.4.2.tar.gz
依赖关系 默认

1.4 编译SDL-1.2.14
软件名称 SDL
功能描述 SDL是一个自由的跨平台的多媒体开发包,适用视频音频和其他应用的软件
下载地址 http://www.libsdl.org/download-1.2.php
软件版本 SDL-1.2.14.tar.gz
依赖关系 默认

1.5 编译SDL_image-1.2.10
软件名称 SDL_image
功能描述 SDL_image是用于处理图形文件的开源函数库
下载地址 http://www.libsdl.org/projects/SDL_image/
软件版本 SDL_image-1.2.10.tar.gz
依赖关系 SDL libpng libjpeg

1.6 编译SDL_gfx-2.0.22
软件名称 SDL_gfx
功能描述 图形库,也就是传统的一些图形操作,几个基本的功能包括了缩放,旋转,几何图形绘制,FPS控制
下载地址 http://www.ferzkopp.net/Software/SDL_gfx-2.0/SDL_gfx-2.0.22.tar.gz
软件版本 SDL_gfx-2.0.22.tar.gz
依赖关系 SDL

1.7 编译SDL_ttf-2.0.10
软件名称 SDL_ttf
功能描述 SDL_ttf是让应用程序能渲染汉字的扩展库
下载地址 http://www.libsdl.org/projects/SDL_ttf/
软件版本 SDL_ttf-2.0.10.tar.gz
依赖关系 SDL freetype libiconv

SDL-1.2.14
 
./configure --prefix=/opt/arm --disable-video-nanox -disable-video-qtopia --disable-static --enable-shared --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 --disable-joystick --disable-input-tslib -enable-video-fbcon --host=arm-linux

libiconv-1.14

./configure  --prefix=/opt/arm --disable-static --enable-shared  --with-libiconv-prefix=/opt/arm --host=arm-linux cc=arm-linux-gcc

jpeg-7

./configure  --prefix=/opt/arm --disable-static --enable-shared   --host=arm-linux   cc=arm-linux-gcc

libpng-1.5.10

./configure  --prefix=/opt/arm --disable-static --enable-shared   --host=arm-linux   cc=arm-linux-gcc

SDL_image-1.2.10

./configure --prefix=/opt/arm --host=arm-linux --disable-static --enable-shared --with-sdl-prefix=/opt/arm CPPFLAGS=-I/opt/arm/include/SDL  LDFLAGS=-L/opt/arm/lib

SDL_gfx-2.0.22

./configure --prefix=/opt/arm --disable-static --enable-shared --with-sdl-prefix=/opt/arm CPPFLAGS=-I/opt/arm/include/SDL  LDFLAGS=-L/opt/arm/lib --host=arm-linux  --enable-mmx=no

freetype-2.1.10

./configure --prefix=/opt/arm --disable-static --enable-shared   --host=arm-linux

SDL_ttf-2.0.10

 ./configure --prefix=/opt/arm --disable-static --enable-shared --disable-sdltest --with-sdl-prefix=/opt/arm --with-freetype-prefix=/opt/arm/  CPPFLAGS=-I/opt/arm/include/  CPPFLAGS=-I/opt/arm/include/  LDFLAGS="-L/opt/arm/lib  -liconv" --host=arm-linux
 
#手工修改Makefile,去掉OpenGL相关处理
# 去掉-I/usr/include -DHAVE_OPENGL
# 改成GL_LIBS =
# 266行 glfont_LDADD = libSDL_ttf.la -lm
#手工修改 glfont.c.全部清空,写入如下
 #int main(int argc ,char **argv) { return 0;}

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!