红联Linux门户
Linux帮助

Linux(F7)下使用SDL开发

发布时间:2007-12-29 21:09:12来源:红联作者:videoout
F7的软件包里边有SDL,如果你选择了一些基本的开发包,那么应该包含了SDL,就不需要了再另外安装了。可以使用下面的命令来查看SDL的安装情况:

rpm -qa | grep SDL

如果没有找到相应的RPM包,那么可以去这里下载。

SDL只包含了最基本的东西,更多的扩展可以在这里下载.其中常用的有SDL_image,SDL_ttf,SDL_mixer等,安装的时候需要注意带有devel的是开发库,而不带的是运行库,一般两个都需要安装。

安装好SDL以后就可以开始写第一个程序了,需要注意的是编译程序时应该加上SDL的链接,如:

gcc -lSDL -o hello hello.c

如果你还使用了其它库,那么也要加上相应库的连接:

gcc-lSDL -lSDL_image -o hello hello.c

下面就可以使用运行SDL程序了,在X下面应该不会有什么问题的,不过如果想在终端下运行可能就会出现问题了。一个先决条件是启动Linux时要在grub中加参数vga=0×314(后面这个根据你的需要可以调整),加这个参数后Linux终端就开始使用FrameBuffer了。

下面是不同分辨率、位数所对应的16进制数:

引用:
|640×480 800×600 1024×768 1280×1024
---+----------------------------
256 | 0×301 0×303 0×305 0×307
32k | 0×310 0×313 0×316 0×319
64k | 0×311 0×314 0×317 0×31A
16M| 0×312 0×315 0×318 0×31B


这样在终端下使用SDL的条件已经具备了,开始运行编译好的SDL程序(你可以在SDL官方网站上下载一些不错的例子),不过你很可能会得到下面的错误信息:

Enable to open mouse.

然而我在单用户模式下运行程序却没有这个错误信息。

google了一下,查到应该是鼠标设备文件在终端下没有权限被读取,这下明白了为什么在单用户模式下程序可以正常运行,单用户模式下本来登录的就是root,所以不会存在权限的问题。

于是在/dev/目录下找到了鼠标设置,我的F7中有下面三个文件:

引用:
crw---- 1 root root 13, 63 08-31 23:44 mice
cr----- 1 root root 13, 32 08-31 23:44 mouse0
cr----- 1 root root 13, 33 08-31 23:44 mouse1


经过我测试表明需要对mice这个设备文件权限进行修改:

chmod 0644 mice

把这个设备的的读权限给其它用户了,这样普通用户也可以在终端下正常运行SDL程序了。

OK,使用SDL开发的准备工作已经全部完毕!SDL的开发之旅就要开始了。
文章评论

共有 2 条评论

  1. niutao0602 于 2007-12-30 11:13:09发表:

    我的可以正常编译,在终端下运行是提示
    no video driver
    不知道是什么错误?

  2. gxf 于 2007-12-29 22:13:15发表:

    SDL可以说是Linux下的DX了