4

我设置了 Allegro 5,并且可以成功编译以下代码:

#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;
}

但是运行它之后,它失败并显示错误消息:

无法初始化 allegro:没有这样的文件或目录。

我不知道出了什么问题。我的操作系统是 Ubuntu,我已经成功编译了代码:

gcc try.c -lallegro 

但无法运行它:

./a.out
4

1 回答 1

1

Allegro 需要一个配置文件和可能的其他文件才能运行。从您的评论来看,这可能就是它不起作用的原因。从自述文件:

"

通常,安装程序和 allegro.cfg 将与它们控制的 Allegro 程序位于同一目录中。这对最终用户来说很好,但对于使用 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

于 2013-01-09T17:41:40.990 回答