我设置了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
答案 0 :(得分: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