SDL是一种跨平台的多媒体库,可用于开发游戏、应用程序和图形用户界面。ARM处理器是嵌入式设备中最常用的处理器之一。在这篇文章中,我们将讨论如何在ARM Linux上使用SDL进行开发。
1. SDL安装
在ARM Linux上安装SDL,需要使用如下命令:
“`
$ sudo apt-get install libsdl2-dev
“`
2. 开发环境配置
为了能够在ARM Linux上进行SDL开发,你需要将开发环境进行适当的配置。你需要编写一个Makefile,编译你的代码,然后使用gcc来链接它们。在Makefile中,需要引用SDL库。以下是一个示例Makefile:
“`
CC = gcc
CFLAGS = -Wall -g
LDFLAGS = -lSDL2
all: app
app: app.o
$(CC) -o app app.o $(LDFLAGS)
app.o: app.c
$(CC) $(CFLAGS) -c app.c
clean:
rm -f app *.o
“`
3. 创建一个SDL窗口
在ARM Linux上,创建一个SDL窗口的方法与在其他平台上创建窗口的方法相同。以下是一个创建一个窗口的示例代码:
“`
#include
int mn()
{
SDL_Window* window = NULL;
SDL_Renderer* renderer = NULL;
int running = 1;
SDL_Init(SDL_INIT_VIDEO);
window = SDL_CreateWindow(“SDL Window”,
SDL_WINDOWPOS_UNDEFINED,
SDL_WINDOWPOS_UNDEFINED,
640, 480, SDL_WINDOW_SHOWN);
renderer = SDL_CreateRenderer(window, -1, 0);
while (running)
{
SDL_Event event;
while (SDL_PollEvent(&event))
{
if (event.type == SDL_QUIT)
{
running = 0;
}
}
SDL_SetRenderDrawColor(renderer, 255, 255, 255, 255);
SDL_RenderClear(renderer);
SDL_RenderPresent(renderer);
}
SDL_DestroyRenderer(renderer);
SDL_DestroyWindow(window);
SDL_Quit();
return 0;
}
“`
4. SDL游戏开发
使用SDL进行游戏开发在ARM Linux上是一件很有趣的事情。以下是一个简单的SDL游戏示例:
“`
#include
int mn()
{
SDL_Window* window;
SDL_Renderer* renderer;
SDL_Texture* texture;
SDL_Rect dstrect;
int running = 1;
int i;
SDL_Init(SDL_INIT_VIDEO);
window = SDL_CreateWindow(“SDL Game”,
SDL_WINDOWPOS_UNDEFINED,
SDL_WINDOWPOS_UNDEFINED,
640, 480, SDL_WINDOW_SHOWN);
renderer = SDL_CreateRenderer(window, -1, SDL_RENDERER_ACCELERATED);
texture = SDL_CreateTexture(renderer,
SDL_PIXELFORMAT_ARGB8888,
SDL_TEXTUREACCESS_STATIC,
640, 480);
Uint32 pixels[640 * 480];
for (i = 0; i
{
pixels[i] = SDL_MapRGB(SDL_GetWindowSurface(window)->format, 255, 0, 0);
}
SDL_UpdateTexture(texture, NULL, pixels, 640 * sizeof(Uint32));
dstrect.x = 0; dstrect.y = 0; dstrect.w = 640; dstrect.h = 480;
while (running)
{
SDL_Event event;
while (SDL_PollEvent(&event))
{
if (event.type == SDL_QUIT)
{
running = 0;
}
}
SDL_RenderCopy(renderer, texture, NULL, &dstrect);
SDL_RenderPresent(renderer);
}
SDL_DestroyTexture(texture);
SDL_DestroyRenderer(renderer);
SDL_DestroyWindow(window);
SDL_Quit();
return 0;
}
“`
5.
成都网站建设公司-创新互联,建站经验丰富以策略为先导10多年以来专注数字化网站建设,提供企业网站建设,高端网站设计,响应式网站制作,设计师量身打造品牌风格,热线:028-86922220cd到/usr/local/apache目录(也就是你的apache安装目录) 下再make试试枝渗看。应该可以猛知脊的,好像是path环境变量的原因。我也是新手。看行不行猛余咯。
cd到/usr/local/apache目录(也就是你的apache安装目录) 下再make试试枝渗看。应该可以猛知脊的,好像是path环境变量的原因。我也是新手。看行不行猛余咯。
SDL库安装的不对.libSDL.so这个文件不对。
你把开发工具都装上
AssaultCube是一款跨平台之一视源猛角射击游戏(FPS),支持Linux、Windows以及州雹Mac
OS X系统。下面用Ubuntu版本Linux系统安装作册裂帆为案例:
1、下载游戏压缩包
#下载AssaultCube_v1.1.0.4.tar.bz2
2、解压压缩包
tar -xvj AssaultCube_v1.1.0.4.tar.bz2
3、安装库,运行AssaultCube,需要用三个库:SDL Opengl Openal
sudo apt-get update
sudo apt-get install libglu1-mesa-dev freeglut3-dev mesa-common-dev
sudo apt-get install libopenal0a libopenal-dev
sudo apt-get install libalut0 libalut-dev
#如果提示没有openal相关的package就用如下命令来装:
sudo apt-get install libopenal1
sudo apt-get install libopenal-dev
4、安装SDL
sudo apt-get install libsdl1.2-dev
5、安装附加包
sudo apt-get install libsdl-image1.2-dev
sudo apt-get install libsdl-mixer1.2-dev
sudo apt-get install libsdl-ttf2.0-dev
sudo apt-get install libsdl-gfx1.2-dev
6、装完之后进入游戏目录
./assaultcube.sh
linux下的游戏比较少,当然有个不错的游戏是很难的。
我平时玩的最多的就是assualtcube,这是一个和CS类似的游戏,但是这个游戏比CS可小多了,linux的安装包只有49M。
该游戏需要SDL,以及OpenAL支持世慧才可以正常运行。
所以载安装该游戏之前首先确认是不是安装了openal以及SDL
对于fedora linux安装sdl可以直接搜樱答yum安装
yum install SDL_image这样就把SDL相关的软件报安装上了。然后安装好显卡驱动,就可以下载assualtcube安装包了。
下载好了,解压后,有个assualtcube.sh
打开终端执行 ./assualtcube.sh就可以打开游戏。游戏的操作比较简单,w a s d 是方向键,b是换枪的(死亡复活后才起效)。其他的自己摸索就可以了。
这个游戏更大好处是可以单机玩(虽然电脑人比较蠢),还可以在线玩,进入一个服务器,就可以和世界各国的玩家一起玩。
而且这个游戏宽带的要求不是很高,我们宿舍2M ADSL ,玩起来还可以。一般300+ ping都不会有事,只要不超过500就绝对可以玩。比较爽!
当然是一个颂绝夸平台的游戏,你也可以下载mac和windows的版本。在mac或者windows下玩这个游戏。
常见的安装错误:
根据我的经验,最常见的错误就是找不到libopenal.so.1。当你在终端运行assualtcube.sh时会提示如下错误:
.//bin_unix/linux_client: error while loading shared libraries:
libopenal.so.1: cannot open shared object file: No such file or directory
。一般这个错误就是/usr/lib/openal.so.0 的事。
出现这个错误之后首先看看你的电脑里/usr/lib/openal.so.0这个文件是不是存在,要是存在的话,那么执行下面的命令就可以了
#ln -s /usr/lib/libopenal.so.0 /usr/lib/libopenal.so.1
上面的命令就是建立/usr/lib/libopenal.so.0的软链接,并且把软连接的名字设为libopenal.so.1 这样assualtcube就可以顺利的运行了。
要是你的电脑里没有/usr/lib/libopenal.so.0这个文件,那么你需要安装yum install openal。安装了openal后再如上面操作建立/usr/lib/libopenal.so.0的软连接。一般问题就可以解决。
双击-》运行就可以了
关于sdl arm linux的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
成都网站建设选创新互联(☎:028-86922220),专业从事成都网站制作设计,高端小程序APP定制开发,成都网络营销推广等一站式服务。
网站题目:SDLArmLinux开发指南(sdlarmlinux)
当前地址:http://www.csdahua.cn/qtweb/news47/453247.html
网站建设、网络推广公司-快上网,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 快上网