新聞中心
SDL是一種跨平臺(tái)的多媒體庫(kù),可用于開(kāi)發(fā)游戲、應(yīng)用程序和圖形用戶界面。ARM處理器是嵌入式設(shè)備中最常用的處理器之一。在這篇文章中,我們將討論如何在ARM Linux上使用SDL進(jìn)行開(kāi)發(fā)。

1. SDL安裝
在ARM Linux上安裝SDL,需要使用如下命令:
“`
$ sudo apt-get install libsdl2-dev
“`
2. 開(kāi)發(fā)環(huán)境配置
為了能夠在ARM Linux上進(jìn)行SDL開(kāi)發(fā),你需要將開(kāi)發(fā)環(huán)境進(jìn)行適當(dāng)?shù)呐渲?。你需要編?xiě)一個(gè)Makefile,編譯你的代碼,然后使用gcc來(lái)鏈接它們。在Makefile中,需要引用SDL庫(kù)。以下是一個(gè)示例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. 創(chuàng)建一個(gè)SDL窗口
在ARM Linux上,創(chuàng)建一個(gè)SDL窗口的方法與在其他平臺(tái)上創(chuàng)建窗口的方法相同。以下是一個(gè)創(chuàng)建一個(gè)窗口的示例代碼:
“`
#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游戲開(kāi)發(fā)
使用SDL進(jìn)行游戲開(kāi)發(fā)在ARM Linux上是一件很有趣的事情。以下是一個(gè)簡(jiǎn)單的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.
成都網(wǎng)站建設(shè)公司-創(chuàng)新互聯(lián),建站經(jīng)驗(yàn)豐富以策略為先導(dǎo)10多年以來(lái)專(zhuān)注數(shù)字化網(wǎng)站建設(shè),提供企業(yè)網(wǎng)站建設(shè),高端網(wǎng)站設(shè)計(jì),響應(yīng)式網(wǎng)站制作,設(shè)計(jì)師量身打造品牌風(fēng)格,熱線:028-86922220Linux 為什么MAKE不過(guò)去
cd到/usr/local/apache目錄(也就是你的apache安裝目錄) 下再make試試枝滲看。應(yīng)該可以猛知脊的,好像是path環(huán)境變量的原因。我也是新手??葱胁恍忻陀嗫?。
cd到/usr/local/apache目錄(也就是你的apache安裝目錄) 下再make試試枝滲看。應(yīng)該可以猛知脊的,好像是path環(huán)境變量的原因。我也是新手??葱胁恍忻陀嗫?/p>
SDL庫(kù)安裝的不對(duì).libSDL.so這個(gè)文件不對(duì)。
你把開(kāi)發(fā)工具都裝上
assaultcube在Linux中如何安裝
AssaultCube是一款跨平臺(tái)之一視源猛角射擊游戲(FPS),支持Linux、Windows以及州雹Mac
OS X系統(tǒng)。下面用Ubuntu版本Linux系統(tǒng)安裝作冊(cè)裂帆為案例:
1、下載游戲壓縮包
#下載AssaultCube_v1.1.0.4.tar.bz2
2、解壓壓縮包
tar -xvj AssaultCube_v1.1.0.4.tar.bz2
3、安裝庫(kù),運(yùn)行AssaultCube,需要用三個(gè)庫(kù):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
#如果提示沒(méi)有openal相關(guān)的package就用如下命令來(lái)裝:
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、裝完之后進(jìn)入游戲目錄
./assaultcube.sh
linux下的游戲比較少,當(dāng)然有個(gè)不錯(cuò)的游戲是很難的。
我平時(shí)玩的最多的就是assualtcube,這是一個(gè)和CS類(lèi)似的游戲,但是這個(gè)游戲比CS可小多了,linux的安裝包只有49M。
該游戲需要SDL,以及OpenAL支持世慧才可以正常運(yùn)行。
所以載安裝該游戲之前首先確認(rèn)是不是安裝了openal以及SDL
對(duì)于fedora linux安裝sdl可以直接搜櫻答yum安裝
yum install SDL_image這樣就把SDL相關(guān)的軟件報(bào)安裝上了。然后安裝好顯卡驅(qū)動(dòng),就可以下載assualtcube安裝包了。
下載好了,解壓后,有個(gè)assualtcube.sh
打開(kāi)終端執(zhí)行 ./assualtcube.sh就可以打開(kāi)游戲。游戲的操作比較簡(jiǎn)單,w a s d 是方向鍵,b是換槍的(死亡復(fù)活后才起效)。其他的自己摸索就可以了。
這個(gè)游戲更大好處是可以單機(jī)玩(雖然電腦人比較蠢),還可以在線玩,進(jìn)入一個(gè)服務(wù)器,就可以和世界各國(guó)的玩家一起玩。
而且這個(gè)游戲?qū)拵У囊蟛皇呛芨?,我們宿?M ADSL ,玩起來(lái)還可以。一般300+ ping都不會(huì)有事,只要不超過(guò)500就絕對(duì)可以玩。比較爽!
當(dāng)然是一個(gè)頌絕夸平臺(tái)的游戲,你也可以下載mac和windows的版本。在mac或者windows下玩這個(gè)游戲。
常見(jiàn)的安裝錯(cuò)誤:
根據(jù)我的經(jīng)驗(yàn),最常見(jiàn)的錯(cuò)誤就是找不到libopenal.so.1。當(dāng)你在終端運(yùn)行assualtcube.sh時(shí)會(huì)提示如下錯(cuò)誤:
.//bin_unix/linux_client: error while loading shared libraries:
libopenal.so.1: cannot open shared object file: No such file or directory
。一般這個(gè)錯(cuò)誤就是/usr/lib/openal.so.0 的事。
出現(xiàn)這個(gè)錯(cuò)誤之后首先看看你的電腦里/usr/lib/openal.so.0這個(gè)文件是不是存在,要是存在的話,那么執(zhí)行下面的命令就可以了
#ln -s /usr/lib/libopenal.so.0 /usr/lib/libopenal.so.1
上面的命令就是建立/usr/lib/libopenal.so.0的軟鏈接,并且把軟連接的名字設(shè)為libopenal.so.1 這樣assualtcube就可以順利的運(yùn)行了。
要是你的電腦里沒(méi)有/usr/lib/libopenal.so.0這個(gè)文件,那么你需要安裝yum install openal。安裝了openal后再如上面操作建立/usr/lib/libopenal.so.0的軟連接。一般問(wèn)題就可以解決。
雙擊-》運(yùn)行就可以了
關(guān)于sdl arm linux的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。
成都網(wǎng)站建設(shè)選創(chuàng)新互聯(lián)(?:028-86922220),專(zhuān)業(yè)從事成都網(wǎng)站制作設(shè)計(jì),高端小程序APP定制開(kāi)發(fā),成都網(wǎng)絡(luò)營(yíng)銷(xiāo)推廣等一站式服務(wù)。
文章題目:SDLArmLinux開(kāi)發(fā)指南(sdlarmlinux)
URL鏈接:http://www.dlmjj.cn/article/cccgjoc.html


咨詢(xún)
建站咨詢(xún)
