(SDL)(01)SDL Introduction
来源:互联网 发布:办公用品库存软件 编辑:程序博客网 时间:2024/05/16 09:02
SDL: Simple DirectMedia Layer
Ubuntu上安装SDL:
sudo apt-cache search libsdl | grep libsdl
$ sudo apt-cache search libsdl | grep libsdl
libsdl1.2-dbg - Simple DirectMedia Layer debug files
libsdl1.2-dev - Simple DirectMedia Layer development files
libsdl1.2debian - Simple DirectMedia Layer
...
libsdl2-2.0-0 - Simple DirectMedia Layer
libsdl2-dbg - Simple DirectMedia Layer debug files
libsdl2-dev - Simple DirectMedia Layer development files
这样搜索出来的文件有很多,列出来的这六个软件包,刚好对应SDL的两个版本:1.2和2.0版本,通过如下命令可以安装这六个软件包:
sudo apt-get install libsdl1.2-dbg libsdl1.2-dev libsdl1.2debian libsdl2-2.0-0 libsdl2-dbg libsdl2-dev
安装完毕后,然后通过pkg-config工具可以看到:
For SDL 1.2
$ pkg-config --cflags sdl
-D_GNU_SOURCE=1 -D_REENTRANT -I/usr/include/SDL
$ pkg-config --libs sdl
-lSDL
For SDL 2.0
$ pkg-config --cflags sdl2
-D_REENTRANT -I/usr/include/SDL2
$ pkg-config --libs sdl2
-lSDL2
可以直接在Makefile中使用pkg-config工具,例如:
#include <stdio.h>
#include <stdlib.h>
#include <SDL.h>
int main(int argc, char** argv, char** envp)
{
int result = 0;
result = SDL_Init(SDL_INIT_EVERYTHING);
printf("result for SDL Init is: %d\n", result);
if(result != 0)
{
printf("SDL_Init unsuccessfully!\n");
printf("error is: %s\n", SDL_GetError());
return 0;
}
SDL_Quit();
return 0;
}
编译脚本Makefile:
all:
gcc `pkg-config --cflags sdl2` main.c -o main `pkg-config --libs sdl2`
SDL 除了通过上述的 sudo apt-get install libsdl1.2-dbg libsdl1.2-dev libsdl1.2debian libsdl2-2.0-0 libsdl2-dbg libsdl2-dev 这样安装外,
还可以到 https://www.libsdl.org/download-2.0.php 或者 https://www.libsdl.org/download-1.2.php 下载 SDL 的源代码,然后通过
./configure
make -j8
sudo make install
这些命令序列进行安装头文件和库文件,通常会放在 /usr/local/include 路径下,当不再需要了,则可以通过
sudo make uninstall
命令进行卸载删除。
通过Makefile编译脚本,生成main可执行文件,在putty terminal中执行,每次都是如下错误:
result for SDL Init is: -1
SDL_Init unsuccessfully!
error is: Failed to connect to the Mir Server
此时,需要切换到Ubuntu中的图形界面中,通过在gnome-terminal中执行main程序,则
result for SDL Init is: 0
SDL_Init函数初始化成功。
- (SDL)(01)SDL Introduction
- SDL
- SDL
- SDL
- SDL
- SDL
- sdl
- SDL
- SDL
- SDL
- SDL
- sdl
- SDL
- lesson 01 Hello Sdl
- 【SDL】SDL简介
- Linux Game Programming Tutorial 1: Introduction/First SDL
- C++ SDL教程翻译 Lesson 01 Hello SDL
- ffmpeg+SDl+ 播放器 -01
- 【neutron】mitaka版本openstack网络之open vSwitch
- UVA_102_Ecological Bin Packing
- 共同学习Java源代码--常用工具类--AbstractStringBuilder(六)
- 电子商务EC模式
- Gradle 笔记——Java构建入门
- (SDL)(01)SDL Introduction
- 在糖尿病患者信息管理系统中,交流区模块想模仿论坛那样几楼几楼的!
- C++各种数据类型之间的转换
- 开源CORBA OmniORB开发环境搭建及编译问题解决方法
- 贪心算法☞会场安排问题/图着色
- c++ map使用
- 将WEB PROJECT部署到tomcat
- csuoj-1729-齿轮传动
- 杭电2612