我对此感到麻烦:
我已经在Ubuntu上安装了Allegro5,并编译了我的Helloworld项目

#include <allegro5\allegro.h> #include <allegro5\allegro_native_dialog.h> int main(void) {
  ALLEGRO_DISPLAY *display=NULL;
  if(!al_init()) {
    al_show_native_message_box(NULL, NULL, NULL, "failed to initialize allegro!", NULL, NULL);
    return -1;
  }
  display=al_create_display(640,
  480);
  if(!display) {
    al_show_native_message_box(NULL, NULL, NULL, "failed to initialize display!", NULL, NULL);
    return -1;
  }
  al_destroy_display(display);
  return 0;
}


使用“g++ -Wall TestProgram.cc pkg-config --libs allegro-5.0 allegro_font-5.0 allegro_ttf-5.0”。
在终端上运行它,它给我这个错误(或崩溃?)消息:

nac@NAC:~$ ./a.out
nouveau: kernel rejected pushbuf: Bad file descriptor
nouveau: ch0: krec 0 pushes 1 bufs 1 relocs 0
nouveau: ch0: buf 00000000 00000002 00000004 00000004 00000000
nouveau: ch0: psh 00000000 00000004a8 00000004bc
nouveau:    0x00107b00
nouveau:    0x00000000
nouveau:    0x20217000
nouveau:    0x00000003
nouveau:    0x1000f010

经过一些测试,我发现它在“al_destroy_display(display);”或之后崩溃,实际上,在该错误之后,我必须使用ctrl + C结束程序。

我能怎么做??

最佳答案

这个问题已有几个月的历史了,但是当您搜索此错误时,它成为第一击。在Allegro 5.0.10上运行LinuxMint 17.2时,我遇到了相同的错误,并通过更新显卡(GeForce GTX 460)驱动程序解决了该错误。希望这对将来的用户有所帮助。

07-27 13:38