手机版
你好,游客 登录 注册 搜索
背景:
阅读新闻

用ARM7发板为uCLinux交叉编译SDL

[日期:2007-08-18] 来源:Linux公社  作者:Linuxidc [字体: ]

1 prepare

首先,要安装以arm-elf-gcc为代表的uCLinux工具链,我采用的arm-elf-gcc版本是2.95.3;其次要准备好SDL源代码包,我采用的SDL源代码版本是1.2.5;最后,你得自己在开发板上把uCLinux跑起来,顺便说一下,我所用的开发板是ARM7。

假定解压后SDL源代码的根目录为/home/rockins/SDL/SDL-1.2.5/,安装目录设置为/home/rockins/SDL/SDL-1.2.5/uclinux-build。在你的系统上,这两个目录应该根据具体情况而有所不同。

2 configure

由于我用的开发板是ARM7,因此很多功能都用不了,这些鸡肋功能都在configure的阶段直接被禁用了——至于哪些功能可能用不了则是我大胆猜测的。鉴于此,这些被禁用的功能中可能有些是被“误杀”的,但是无论如何,我秉持的观点是“宁可错杀一千,不可放过一个”。最终的结果是仅剩下一些最基本的功能被保留了下来。下面的命令是在控制台上运行configure脚本:

./configure --prefix=/home/rockins/SDL/SDL-1.2.5/uclinux-build --enable-shared=no --enable-audio=no --enable-joystick=yes --enable-cdrom=no --enable-threads=no --enable-timers=yes --enable-endian=yes --enable-file=yes --enable-esd=no --enable-arts=no --enable-nas=no --enable-diskaudio=no --enable-mintaudio=no --enable-nasm=no --enable-video-x11=no --enable-dga=no --enable-video-x11-vm=no --enable-video-x11-dgamouse=no --enable-video-x11-xv=no --enable-video-x11-xinerama=no --enable-video-x11-xme=no --enable-video-dga=no --enable-video-photon=no --enable-video-directfb=no --enable-video-ps2gs=no --enable-video-xbios=no --enable-video-gem=no --enable-video-opengl=no --enable-pth=no --enable-pthreads=no --enable-pthread-sem=no

简要说明:

<!--[if !supportLists]-->l <!--[endif]-->--prefix=/home/rockins/SDL/SDL-1.2.5/uclinux-build

指定编译后的安装目录,根据需要进行设置。

<!--[if !supportLists]-->l <!--[endif]-->--enable-shared=no

目前还无法编译成动态共享库,故需要禁用动态共享库。

3 make

编译SDL只需在控制台上输入如下命令即可:

make -e CC=arm-elf-gcc CXX=arm-elf-g++ CCAS=arm-elf-gcc CCLD=arm-elf-gcc RANLIB=arm-elf-ranlib OBJDUMP=arm-elf-objdump AR=arm-elf-ar

这些参数实际上控制着Makefile中的相应变量。用arm-elf工具链替换之后,就是用arm-elf的工具对SDL源代码进行交叉编译。生成的SDL函数库(在本文中是静态链接库)就可以和程序代码链接,并在uCLinux平台上运行。

linux
【内容导航】
第1页:用ARM7发板为uCLinux交叉编译SDL 第2页:用ARM7发板为uCLinux交叉编译SDL
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款