sdl和agar交叉编译

1、设置环境变量

建立交叉编译环境(详见3-3

#export LDFLAGS=-L/opt/mipsel/lib

#export CFLAGS=-I/opt/mipsel/include

2、编译

1)编译jpeg-7

软件名称

Libjpeg

功能描述

Libjpeg是一个用c语言编写支持jpeg解码、编码的库

下载地址

http://linux.softpedia.com/get/Programming/Libraries/libjpeg-160.shtml

软件版本

jpegsrc.v7.tar.gz

依赖关系

默认

前置条件

源文件位置:$(work_dir)/jpeg-7

#./configure –-host=mipsel-linux –target=mipsel-linux –-prefix=/opt/mipsel 

#make CC=mipsel-linux-gcc AR=mipsel-linux-ar RANLIB=mipsel-linux-ranlib CXX=mipsel-linux-g++

#make install

(2)编译freetype-2.4.3

软件名称

freetype-2.4.3

功能描述

Freetype是一个用c语言实现的字体栅格化引擎制作的一个库

下载地址

http://download.savannah.gnu.org/releases/freetype/

软件版本

freetype-2.4.3.tar.bz2

依赖关系

默认

前置条件

源文件位置:$(work_dir)/freetype-2.4.3

#./configure --prefix=/opt/mipsel --host=mipsel-linux --target=mipsel-linux

#make && make install

 到/opt/ 下查看是否安装成功。生成了所需的头文件和库。

(3)编译libiconv

软件名称

libiconv

功能描述

libiconv库为需要做转换的程序,实现了一个字符编码到另一个字符编码的转换

下载地址

http://www.gnu.org/software/libiconv/#downloading

软件版本

libiconv-1.13.1.tar.gz

依赖关系

默认

前置条件

源文件位置:$(work_dir)/libiconv-1.13.1

#./configure –-host=mipsel-linux –-target=mipsel-linux –-prefix=/opt/mipsel 

# make CC=mipsel-linux-gcc AR=mipsel-linux-ar RANLIB=mipsel-linux-ranlib CXX=mipsel-linux-g++

# make install

(4)编译libpng-1.4.2

软件名称

libpng

功能描述

libpng是多种应用程序所使用的解析PNG图形格式的函数库

下载地址

http://www.libpng.org/pub/png/libpng.html

软件版本

libpng-1.4.2.tar.gz

依赖关系

默认

前置条件

源文件位置:$(work_dir)/libpng-1.4.2

# ./configure –-host=mipsel-linux –target=mipsel-linux –-prefix=/opt/mipsel 

# make CC=mipsel-linux-gcc 

# make install

(5)编译SDL-1.2.13

软件名称

SDL-1.2.13

功能描述

SDL是一个自由的跨平台的多媒体开发包,适用视频音频和其他应用的软件

下载地址

http://www.libsdl.org/download-1.2.php

软件版本

SDL-1.2.13.tar.gz

依赖关系

默认

前置条件

源文件位置:$(work_dir)/SDL-1.2.13.tar.gz

# ./configure -–host=mipsel-linux -–prefix=/opt/mipsel –-disable-static –-disable-nasm –-disable-video-x11 –-disable-x11-shared –-disable-dga –-disable-video-dga –-disable-video-x11-dgamouse –-disable-video-x11-vm –-disable-video-x11-xv -–disable-video-x11-xinerama -–disable-video-x11-xme --disable-video-x11-xrander --disable-video-x11-dpms --disable-video-svga --enable-input-tslib

--disable-esd --disable-esdtest --disable-esd-shared --without-x

# make

# make install

SDL/test 范例编译

# ./configure --host=mipsel-linux --without-x;

#make

(6)编译SDL_image-1.2.10

软件名称

SDL_image-1.2.10

功能描述

SDL_image是用于处理图形文件的开源函数库

下载地址

http://www.libsdl.org/projects/SDL_image/

软件版本

SDL_image-1.2.10.tar.tar

依赖关系

默认

前置条件

源文件位置:$(work_dir)/SDL_image-1.2.10

# ./configure –-host=mipsel-linux –target=mipsel-linux –-prefix=/opt/mipsel 

# make CC=mipsel-linux-gcc 

修改项:

<-CFLAGS= -I/usr/local/include/SDL 

->CFLAGS= -I/opt/include/SDL 

<-LIBS = -Wl,rpath,/usr/local/lib  -L /usr/local/lib –LSDL –lpthread

->LIBS=-Wl,rpath,/opt/lib –L/opt/lib –LSDL -lpthread

LIBPNG选项 添加成如下参数:

默认为空

SDL_CFLAGSSDL_LIBS选项也修改成如下

# make CC=mipsel-linux-gcc 

# make install

(7)编译SDL_ttf 

软件名称

SDL_ttf-2.0.9

功能描述

SDL_ttf是让应用程序能渲染汉字的扩展库

下载地址

http://www.libsdl.org/projects/SDL_ttf/

软件版本

SDL_ttf-2.0.9.tar.gz

依赖关系

默认

前置条件

源文件位置:$(work_dir)/SDL_ttf-2.0.9

# ./configure –-host=mipsel-linux –target=mipsel-linux –-prefix=/opt/mipsel 

修改Makefile文件

>CFLAGS = -g -O2 -I/opt/include/freetype2 -I/opt/include -I/opt/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -I/opt/include

<CFLAGS = -g -O2 -I/usr/local/include/freetype2 -I/usr/local/include -I/usr/local/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT \ -I/usr/local/include

>FREETYPE_CONFIG = /opt/bin/freetype-config

<FREETYPE_CONFIG = /usr/local/bin/freetype-config

>LIBS = -L/opt/lib -lfreetype -L/opt/lib -Wl,-rpath,/opt/lib -lSDL -lpthread

<LIBS = -L/usr/local/lib -lfreetype -L/usr/local/lib -Wl,-rpath,/opt/lib -lSDL\ -lpthread

 

>SDL_CFLAGS = -I/opt/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT

<SDL_CFLAGS = -I/usr/local/include/SDL -D_GNU_SOURCE=1 \ -D_REENTRANT

>SDL_CONFIG = /opt/bin/sdl-config

<SDL_CONFIG = /usr/local/bin/sdl-config

>SDL_LIBS = -L/opt/lib -Wl,-rpath,/opt/lib -lSDL,-lpthread

<SDL_LIBS = -L/usr/local/lib -Wl,-rpath,/usr/local/lib -lSDL,-lpthread

# make CC=mipsel-linux-gcc  AR=mipsel-linux-ar RANLIB=mipsel-linux-ranlib CXX=mipsel-linux-g++

# make install

若出现以下错误 

则修改149行参数为下图所示

重新配置configure 

# make CC=mipsel-linux-gcc  AR=mipsel-linux-ar RANLIB=mipsel-linux-ranlib CXX=mipsel-linux-g++

# make install

(8)编译agar1.3.4

软件名称

agar-1.3.4

功能描述

agar是基于CC++并且依赖与SDL库的开源图形应用软件

下载地址

http://libagar.org/download.html.en

软件版本

agar-1.3.4.tar.gz

依赖关系

默认

前置条件

源文件位置:$(work_dir)/agar-1.3.4

# ./configure  --prefix=/opt/mipsel  --without-gl --with-docs 

agar没有host选项基于)

>SDL_CFLAGS = -I/opt/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT

<SDL_CFLAGS = -I/usr/local/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT

>SDL_LIBS = -L/opt/lib -Wl,-rpath,/opt/lib -lSDL -lpthread

<SDL_LIBS = -L/usr/local/lib -Wl,rpath,/usr/lib -SDL,-lpthread

>FREETYPE_CFLAGS= -I/opt/include/freetype2 -I/opt/include

<FREETYPE_CFLAGS= -I/usr/local/include/freetype2 -I/usr/local/include

>FREETYPE_LIBS= -L/opt/lib -lfreetype

<FREETYPE_LIBS= -L/usr/local/lib -freetype

>JPEG_CFLAGS= -I/opt/include

<JPEG_CFLAGS= -I/usr/local/include

>JPEG_LIBS= -L/opt/lib -ljpeg

<JPEG_LIBS= -L/usr/local/lib -ljpeg

# make CC=mipsel-linux-gcc AR=mipsel-linux-ar RANLIB=mipsel-linux-ranlib CXX=mipsel-linux-g++

编译正确 通过 

# make install

编译agar/demos

此处以loader为范例

# ./configure --without-gl --with-docs

此时需要对makefile.config 文件进行修改

>SDL_CFLAGS=-I/opt/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT

<SDL_CFLAGS=-I/usr/local/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT

>SDL_LIBS=-L/opt/lib -Wl,-rpath,/opt/lib -lSDL -lpthread

<SDL_LIBS=-L/usr/local/lib -Wl,-rpath,/usr/local/lib -lSDL -lpthread

>FREETYPE_CFLAGS=-I/opt/include/freetype2 -I/opt/include

<FREETYPE_CFLAGS=-I/usr/local/include/freetype2 -I/usr/local/include

>FREETYPE_LIBS=-L/opt/lib -lfreetype

<FREETYPE_LIBS=-L/usr/local/lib -lfreetype

>AGAR_CFLAGS=-I/opt/include/agar -I/opt/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -I/opt/include/freetype2 -I/opt/include

<AGAR_CFLAGS=-I/usr/local/include/agar -I/usr/local/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -I/usr/local/include/freetype2 -I/usr/local/include

>AGAR_LIBS=-L/opt/lib -lag_gui -lag_core -L/opt/lib -Wl,-rpath,/opt/lib -lSDL -lpthread -L/opt/lib -lfreetype -lm -lpthread

<AGAR_LIBS=-L/usr/local/lib -lag_gui -lag_core -L/usr/local/lib -Wl,-rpath,/usr/local/lib -lSDL -lpthread -L/usr/local/lib -lfreetype -lm -lpthread

# make CC=mipsel-linux-gcc AR=mipsel-linux-ar RANLIB=mipsel-linux-ranlib CXX=mipsel-linux-g++

9-2-3 sdlagar移植    

1为了方便程序的编译测试,我们将非X11库做个备份:

#cd /usr/

 

#mkdir no_X11

 

#cp -rf local/include no_x11

 

#cp -rf local/lib no_x11

 

这样在no_X11下的库就是非X11库。

 

 

2为了方便的使用这两种库,我们在Makefile.config里指定路径:

 

 

IPR_LIB_DIR=/usr/no_X11/lib

 

 

IPR_INC_DIR=/usr/no_X11/include

 

 

这样得到的可执行程序就是非X11的。

 

 

3移植SDL

 

 

no_X11里面的库放进文件系统lib目录下

 

 

#cd /usr/no_X11

 

#cp libSDL* /home/ipr/ramdisk/lib

 

#cp libfreetype* /home/ipr/ramdisk/lib

 

 

可以看到安装完agar没有看到lib目录下有agar库,因为它是基于SDL的。

 

 

在 SDL-1.2.13/testagar-1.3.4/demos/目录下,有许多例子。可以将例子复制到根文件系统

 

 

 

根目录下,制作文件系统镜像,烧写文件系统镜像于开发板上。也可以把交叉编译得到的

 

 

例子使用网络传输于开发板上。

 

至此移植完成。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要进行sdl_ttf的交叉编译,你需要先下载SDL_ttf的源代码包(SDL_ttf-2.0.10.tar.gz),你可以在SDL官方网站的下载页面中找到它的下载地址。在进行交叉编译之前,你需要先安装好SDL、freetype和libiconv这三个依赖。 接下来,你需要设置好交叉编译环境。根据你提供的信息,你的系统环境是linux,移植环境是arm11,编译工具链是gcc-4.3.1。确保你已经正确安装了适用于arm11的交叉编译工具链,并将其添加到系统的PATH环境变量中。 在开始编译之前,你需要先解压SDL_ttf的源代码包。进入解压后的目录,并使用以下命令进行配置和编译: ``` ./configure --host=arm-none-linux-gnueabi --prefix=/path/to/install make make install ``` 其中,--host参数指定了目标平台的体系结构,根据你的情况替换为适合arm11的值。--prefix参数指定了安装路径,根据你的需求进行替换。 编译完成后,你可以将生成的文件和头文件拷贝到目标平台上,并将其链接到你的应用程序中。 总结起来,进行sdl_ttf的交叉编译的步骤如下: 1. 下载SDL_ttf的源代码包(SDL_ttf-2.0.10.tar.gz)。 2. 解压源代码包。 3. 设置好交叉编译环境,并确保已安装好SDL、freetype和libiconv这三个依赖。 4. 进入解压后的目录,执行配置命令和编译命令。 5. 将生成的文件和头文件拷贝到目标平台上。 希望这些步骤对你有帮助。如果还有其他问题,请随时提问。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [SDL以及扩展交叉编译过程简介](https://blog.csdn.net/hqyhqyhq/article/details/7659495)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值