linux 编译sdl,Linux下安装、编译SDL(示例代码)

要搞图形界面,SDL是比较好上手的一个库。今天试着在centos下搞了一个SDL的程序。下面是配置的步骤:

首先yum search SDL,会出现SDL相关的软件包。不过我这里只有SDL1的,没有2的。然后看对了后,install一下。要注意,一定要看清楚是32位的还是64位的,下载和自己系统对应的版本,否则编译会出错。我这里是64位的系统,因此下载64位的版本。

yum install SDL-devel.x86_64 SDL_mixer-devel.x86_64 SDL_ttf-devel.x86_64 SDL_image-devel.x86_64 SDL_net-devel.x86_64

我把常用的包都安装上了,如果你有其他需要可以自己调整。

安装完后,就可以正式写代码了。

#include "SDL.h"#include"SDL_image.h"#include"SDL_mixer.h"#include"SDL_ttf.h"#include"SDL_net.h"

intmain()

{

SDL_Init(SDL_INIT_EVERYTHING);

SDL_Quit();return 0;

}

保存代码为test1.cpp

编译的时候,需要额外添加sdl的头文件路径、链接库路径和链接库。我的系统中,头文件在 /usr/include/SDL 下,而链接库在 /usr/lib下。

编译命令:

gcc test1.cpp -I/usr/include/SDL -L/usr/lib -lSDL -lSDL_image -lSDL_mixer -lSDL_ttf -lSDL_net -lstdc++ -otest1.a

这里要注意,-lstdc++ 这个库不能省,否则会报错。

如果没有任何提示,那么恭喜,编译成功啦。

还要提示一点,SDL程序的运行时需要相关库的支持的。不过还有一个static的SDL编译库,留给读者自己探索。

最后总结几个常见的问题:

如果gcc报告一大堆undefined,比如什么 Uint8 不能命名,类型未定义等等,看看是不是忘记加 -lstdc++

如果报告 libSDL.so 不完整或打不开,看看是不是选择了系统对应的64或32位版本。如果和系统不相同,那么编译是不能通过的。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值