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

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


咨詢
建站咨詢
