SDL2-2.0.1 在 UP-CUP6410 上
的移植
一、安装 UP-CUP6410 学习板的交叉编译器
将 4.3.1-eabi-armv6-up-cup6410.tar.gz 解 压 到 Linux 系 统 的
/usr/local/arm 下,然后编辑/etc/profile 设置环境变量,设置方法如图一。
二、交叉编译 SDL2-2.0.1 开源库
在 SDL 官 网 下 载 SDL2-2.0.1.tar.gz 源 码 包 , 输 入 tar
–zxvfSDL2-2.0.1.tar.gz,然后进入 SDL 目录,建立一个 ouput 文件夹保存所
有 的 编 译 结 果 , 然 后 编 写 SDL2.sh 脚 本 , ./configure
--prefix=/opt/smileLB/tools/SDL2-2.0.1/output
--disable-video-nanox
opia --disable-video-photon --disable-video-ggi
--disable-video-qt
e-video-dummy
--disable-video-svga --disable-video-aalib --disabl
--disable-video-dga
--disable-esd
--disable-alsa
--disable-video-x11
--disable-joystick
--enable-input-tslib --enable-video-fbcon --host=arm-linux --build
=i386。 脚本内容如截图二。
--disable-arts
-
-disable-nasm
安装 SDL 路径
构建共享库[开启]
装配 blitters x86 上的 nasm(汇编器)
这些都是打开或关掉一些不需要的功能。
具体参数如下:
/******************************************************************/
--prefix=/usr/arm
--enable-shared=yes
--enable-nasm
--enable-oss
--enable-alsa
--enable-alsa-shared
--enable-pulseaudio
--enable-pulse-shared
--enable-arts
--enable-arts-shared
--enable-joystick
启用支持 oss 声音的 API
启用支持 ALSA 声音的 API
启用动态加载 ALSA 声卡的 API
启用 pulseaudio(脉冲音频)
启用动态加载脉冲音频支持
启用动态加载 ARTS 声卡的支持
启用 joystick(控制杆)系统
启用支持 Analog Read Time Synthesizer(模拟实时合成器)
启用只读光盘系统[关闭]
启用多线程子系统
启用计时器子系统
大小端设置
启用文件系统
支持 Enlightened(文明)声音后台程序
支持 NAS(网络连接存储)声卡 API
支持磁盘写入声卡驱动
支持虚拟声卡驱动
使用 altivec 装配位块传送器在 PPC 上
使用 x11 视频驱动
允许使用 x1 DGA 代码
使用 x11 vm 延长全屏
使用 x11 DGA 鼠标事件
使用 x11 xv 音像延长视频
启动 x11 多银幕支持
使用 DGA2.0 视频驱动
启用 DirectFB 视频驱动
使用 QNX(嵌入式实时系统)光子视频驱动
使用 PS(游戏机)2
--enable-cdrom
--enable-threads
--enable-timers
--enable-endian
--enable-file
--enable-esd
--enable-nas
--enable-diskaudio
--enable-dummyaudio
--enable-altivec
--enable-video-x11
--enable-dga
--enable-video-x11-vm
--enable-video-x11-dgamouse
--enable-video-x11-xv
--enable-video-x11-xinerama
--enable-video-dga
--enable-video-directfb
--enable-video-photon
--enable-video-ps2gs
--enable-video-opengl
--enable-video-pth
--enable-pthreads
--enable-pthread-sem
--enable-input-events
--enable-input-tslib
/*******************************************************************/
使用 POSIX 线程(可移植操作系统)对多线程
使用多线程信号
使用 Linux-2.4 统一输入接口
使用 Touchscreen 库输入
GS 视频驱动
包括 OpenGL(开放图形语言)创建上下文
使用 GNU pth 库对多线程
编 译 过 程 中 出 现 了 错 误 。 在 src/test/SDL_test_fuzzer.c 内 容 是 ”
LLONG_MAX”,” ULLONG_MAX”,” LLONG_MIN”报错未定义。这些都在 Linux 系
统的头文件 limits.h 定义的,而且已经包含了,但是它就是找不到,没有办法,
只能在这个源文件中自己定义它们了。如下:
#define LLONG_MAX
#define ULLONG_MAX
#define LLONG_MIN
9223372036854775807LL
18446744073709551615ULL
(-LLONG_MAX - 1LL)
然后编译成功。输入 tar -cjvf UP6410_SDL2-2.0.1.tar.bz2 output/* 打包生
成 UP6410_SDL2-2.0.1.tar.bz2 */。
三、截图
图一:
图二: