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" int main()
{
SDL_Init(SDL_INIT_EVERYTHING); SDL_Quit();
return ;
}
保存代码为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位版本。如果和系统不相同,那么编译是不能通过的。
Linux下安装、编译SDL的更多相关文章
- FFmpeg在Linux下安装编译过程
转载请把头部出处链接和尾部二维码一起转载,本文出自:http://blog.csdn.net/hejjunlin/article/details/52402759 今天介绍下FFmpeg在Linux下 ...
- linux下安装编译网卡驱动的方法
安装linux操作系统后发现没有网卡驱动,表现为 system → Administration → Network下Hardware列表为空. 以下为安装编译网卡驱动的过程,本人是菜鸟,以下是我从网 ...
- linux 下安装编译配置 QT
注: 1,自己 make qt-everywhere-opensource-src s时,在./configure前主动装好以下3个 sudo apt-get install libX11-dev l ...
- linux下安装编译php的curl扩展
curl扩展的位置(需要编译的版本)/root/install/php-5.5.24/ext/curl 1.进入对应的扩展目录 # cd /root/install/php-5.5.24/ext/cu ...
- linux下安装编译为安装的php扩展
1.进入php源码包中,找到需要安装的扩展模块目录.cd /root/php-5.6.26/ext/mbstring 2.在扩展模块目录,运行phpize程序,(作用是检测 php 的内核版本,并为扩 ...
- 在Linux下安装PHP过程中,编译时出现错误的解决办法
在Linux下安装PHP过程中,编译时出现configure: error: libjpeg.(a|so) not found 错误的解决办法 configure: error: libjpeg.(a ...
- ACE-6.1.0 linux 下的编译与安装步骤
ACE-6.1.0 linux 下的编译与安装步骤 引用至http://www.cnblogs.com/liangxiaxu/archive/2013/03/07/2948417.html 1.从 ...
- Linux下nginx编译安装教程和编译参数详解
这篇文章主要介绍了Linux下nginx编译安装教程和编译参数详解,需要的朋友可以参考下 一.必要软件准备1.安装pcre 为了支持rewrite功能,我们需要安装pcre 复制代码代码如下: # y ...
- Linux下安装过程中编译PHP时报错:configure: error: libjpeg.(a|so) not found
在Linux下安装PHP过程中,编译时出现configure: error: libjpeg.(a|so) not found 错误的解决的方法: 检查之后发现已经安装libjpeg.可是/usr/l ...
- Linux下安装cmake
cmake是一个跨平台的编译工具,特点是语句简单,编译高效,相对于原有的automake更为高效,接下来说明在Linux下安装cmake工具的过程 首先去cmake官网下载cmake安装包,下载界面网 ...
随机推荐
- Android系统目录结构详解
Android系统基于linux内核.JAVA应用,算是一个小巧精致的系统.虽是开源,但不像Linux一般庞大,娇小可亲,于是国内厂商纷纷开发出自己基于Android的操作系统.在此呼吁各大厂商眼光放 ...
- Hibernate 分页
public EmailBean[] findByPage(Date begin, Date end, String emailreference, int pageNo, final int pag ...
- Contest2195 - 2019-4-25 高一noip基础知识点 测试8 题解版
(因为david_alwal太懒了,所以本期题解作者为Th Au K,码风不同请自行适应) 传送门 T1 BFS?贪心?我也说不清 反正就是对每一个“#”搜一下他的旁边有没有“#”就行了 代码 T2 ...
- BUAA-OO-表达式解析与求导
BUAA-OO-表达式解析与求导 解析 按照常规,解析这一部分我们分为词法分析与语法分析.当然由于待解析的字符串较简单,词法分析器和语法分析器不必单独实现. 词法分析器 按照常规,我们先手写一个词法分 ...
- 深度学习与NLP简单应用
在深度学习中,文本分类的主要原型:Text label,坐边是输入端“X”,右边是输出端“Y”.行业baseline:用BoW(bag of words)表示sentences(如何将文本表达成一 ...
- This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its de 错误解决办法
这是我们开启了bin-log, 我们就必须指定我们的函数是否是1 DETERMINISTIC 不确定的2 NO SQL 没有SQl语句,当然也不会修改数据3 READS SQL DATA 只是读取数据 ...
- 2019年一次java知识点总结
java基础 数据类型 集合与数据结构 关键字(static,rty ...) IO和网络 多线程(并发与锁,死锁) 异常 简单算法,复杂度 JVM 类加载 java内存模型 对象监听器字节码 垃圾回 ...
- selenium中webdriver识别class属性多个值中有空格的解决方案
初学自动化测试,貌似大家十有八九都是用百度网站进行练手的,特此感谢百度. http://www.baidu.com 页面中主要就是搜索框和提交按钮: 输入框各元素属性:<input id=&qu ...
- 项目Alpha冲刺(团队)-第二天冲刺
格式描述 课程名称:软件工程1916|W(福州大学) 作业要求:项目Alpha冲刺(团队)-代码规范.冲刺任务与计划 团队名称:为了交项目干杯 作业目标:描述第二天冲刺的项目进展.问题困难.心得体会 ...
- poj 3268 Silver Cow Party(最短路dijkstra)
描述: One cow from each of N farms (1 ≤ N ≤ 1000) conveniently numbered 1..N is going to attend the bi ...