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位版本。如果和系统不相同,那么编译是不能通过的。
linux上编译sdl,Linux下安装、编译SDL相关推荐
- 怎么在linux上添加网络打印机,Ubuntu下安装安装hp网络打印机图解
在Ubuntu上安装打印机并不像想象中那样麻烦.你可以从"系统->系统管理->打印"菜单调出打印机设置. 首先你可以安装一个pdf虚拟打印机,就是将打印内容生成一个pd ...
- FFmpeg学习之路:Linux下安装编译
FFmpeg学习之路:Linux下安装编译 文章目录 FFmpeg学习之路:Linux下安装编译 前言 一.下载FFmpeg 二.准备工作 1.安装yasm的汇编编译器 2.安装SDL2 三.编译安装 ...
- Q106:Linux系统下安装编译PBRT-V3
106.0 引入 本人之前尝试过在windows系统中编译pbrt-v3,但是出现了很多错误.pbrt-v3的源代码中部分Linux的函数没有用宏包好,而是直接使用,所以在windows环境下就报错了 ...
- Q106:Mac系统下安装编译PBRT-V3
Mac和Linux比较类似,所以,"Mac系统下安装编译PBRT-V3"和"Linux系统下安装编译PBRT-V3"是非常相似的. 基于"Q106:L ...
- linux中jdk添加字体_在Linux上为Openjdk Java定义/安装字体的位置
在Ubuntu上安装了Oracle 8 jdk,在jre/lib中它具有各种fontProperties文件和一个包含字体的字体目录.但是,当安装OpenJdk 8时,jre/lib中的字体文件上没有 ...
- linux texmaker编译,在Ubuntu下安装和编译LaTex
8种机械键盘轴体对比 本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选? LaTex简介 1.LaTeX 是由美国计算机学家Lamport博士于1985年开发成功的. 2.它是当今世界上最流行和 ...
- linux 服务器 安装网卡驱动,linux下安装编译网卡驱动的方法
安装linux操作系统后发现没有网卡驱动,表现为 system → Administration → Network下Hardware列表为空. 以下为安装编译网卡驱动的过程,本人是菜鸟,以下是我从网 ...
- linux下安装编译网卡驱动
安装linux操作系统后发现没有网卡驱动,表现为 system → Administration → Network下Hardware列表为空. 以下为安装编译网卡驱动的过程,本人是菜鸟,以下是我从网 ...
- linux 网卡驱动编译,在linux系统下安装编译网卡驱动的方法
安装linux操作系统后发现没有网卡驱动,表现为 system → Administration → Network下Hardware列表为空. 以下为安装编译网卡驱动的过程,本人是菜鸟,以下是我从网 ...
- linux下运行htk,Linux下安装编译并且测试HTK语音识别库
决定写一个linux下的HTK的安装和测试,如果有人想看windows下的,可以看我之前的那篇文章 http://www.linuxidc.com/Linux/2013-03/80801.htm. 首 ...
最新文章
- Python常见数据框操作①
- 双轴机械臂建模分析数据
- 是否可以在Gradle中声明一个可用于Java的变量?
- python封装类在当前文件中使用_name_下调用不了_python提示这个是什么原因!
- 基于pygame的射击小游戏制作(四)击杀外星人
- stm32 USB增加端点总结
- 空格 过滤多个_CAD选择过滤器的运算符如何使用?
- 面试精讲之面试考点及大厂真题 - 分布式专栏 05 公司使用什么RPC框架,聊聊你理解的RPC原理
- python提供的三种基本数据类型是()_python基础之基本数据类型
- 2017.10.8 球形空间产生器sphere 思考记录
- php dns失败,dns错误是什么意思
- iVMS-8700综合安防管理平台第三方开发
- 项目经理需要具备四种基本素质及八大管理技能
- 如何成为一名数据分析师
- 电商分析需要重点关注的核心指标
- VUE提示Gradient has outdated direction syntax
- 无聊科技正经事周刊(第3期):美团的推荐算法,是在玩火吗?
- 如何破解百度文库的防复制功能
- 异形隔离java剧情_异形隔离攻略 系统上手教程 全剧情流程图文攻略(20)
- linux 用户相关操作
热门文章
- 大数据的价值体现有哪些
- 数据分析在内容运营中的作用
- 命令行打印二维码-pyqrcode
- 关于C++的建议,仅仅为了规范代码(二)
- [运维笔记] PowerShell (模块).模块的查找、安装、卸载、更新、保存、发布
- 完成一个Vue3项目的过程
- JAVA中整型常量的长度,Java基础入门篇(三)——Java常量、变量,
- html 图片 把绝对路径改为相对路径,html中想把图片绝对路径 改成相对路径怎么操作?...
- qml 函数使用经验总结1(image中调用函数)
- python socket 接口