2012-12-18 27 views
4

我設置了快板5,並可以編譯成功下面的代碼:allegro5 - 如何在Linux上運行?

#include <stdio.h> 
#include <stdlib.h> 
#include <string.h> 
#include <errno.h> 
#include <allegro5/allegro.h> 
void error(char *msg) 
{ 
    fprintf(stderr,"%s : %s\n", msg, strerror(errno)); 
    exit(1); 
} 
int main(int argc, char **argv) 
{ 
ALLEGRO_DISPLAY *display = NULL; 

if(!al_init()) 
    error("Could not initailize allegro"); 

display = al_create_display(640, 480); 
if(!display) 
    error("fail to display"); 

al_clear_to_color(al_map_rgb(0,0,0)); 
al_flip_display(); 
al_rest(10.0); 
al_destroy_display(display); 
return 0; 
} 

但它運行後,它用錯誤信息失敗:

無法initailize快板:沒有這樣的文件或目錄。

我不知道什麼是錯的。我的操作系統是Ubuntu的,我已經編譯的代碼成功地:

gcc try.c -lallegro 

但無法運行:

./a.out 
+1

我不知道快板,但嘗試安裝strace的運行'strace的/ a.out',看看到底是什麼也找不到。 –

+0

它顯示:access(「/ etc/ld.so.nohwcap」,F_OK)= -1 ENOENT(沒有這樣的文件或目錄)open(「/ home/tom/Exercise/c/game/allegro5.cfg」,O_RDONLY )= -1 ENOENT(無此文件或目錄)open(「/ etc/allegro5rc」,O_RDONLY)= -1 ENOENT(無此文件或目錄) open(「/ home/dreamloser/allegro5rc」,O_RDONLY)= - 1 ENOENT(沒有這樣的文件或目錄) –

+2

你應該使用'pkg-config'而不是'-lallegro'。無論如何,編譯Allegro的調試版本並查看allegro.log。 – Matthew

回答

1

快板需要一個配置文件和可能的其他文件進行操作。從你的評論,這可能是爲什麼它不工作。自述:

通常情況下安裝程序並allegro.cfg將在同一目錄中,因爲它們控制快板節目走這非常適合最終用戶,但它可以是一個對於使用Allegro的程序員來說是痛苦的,因爲你可能在不同的目錄下有幾個程序,並且想爲它們全部使用一個allegro.cfg。如果是這種情況,你可以設置環境變量ALLEGRO到包含你的allegro.cfg的目錄,如果當前目錄中沒有allegro.cfg,Allegro將顯示在那裏。

...

在Unix,BeOS的和MacOS X,配置文件程序還檢查〜/ allegro.cfg〜/ .allegrorc,/etc/allegro.cfg,和/ etc/allegrorc,在該順序以及鍵盤和語言文件可以存儲在您的主目錄或/ etc /中。

查看更多:

http://alleg.sourceforge.net/stabledocs/en/readme.html#configuration