如何在Allegro中获取错误原因?

时间:2015-05-04 18:28:49

标签: c++ allegro allegro5

我来自SDL,在那里我有一个名为SDL_GetError()的函数,它会奇怪地返回一个内部错误的const char *。这是我在Allegro 5上的代码:

regex

文件正常,我可以直接从al_load_bitmap加载,但是,由于我已经添加了我的个人功能,Allegro崩溃并给我错误对话框(因此,bmp必须是nullptr)。问题是这个错误对我来说绝对没用,我需要知道Allegro内部发生了什么(所以像al_get_error()这样的东西会很棒)。我怎么知道发生了什么?

enter image description here

1 个答案:

答案 0 :(得分:2)

变量播放器是否在文件范围内;换句话说,它是在main运行之前初始化并且有机会初始化allegro库吗?

假设是这种情况,请尝试将行更改为

ALLEGRO_BITMAP *player = nullptr;

并在程序启动期间的适当时间调用的函数中初始化它,如:

void init_game_bitmaps()
{
   player = load_bmp("GFX\\player_up.bmp");
   // Other initialisation here ...
}

称之为:

// Somewhere in main, or an appropriate function call:
init_game_bitmaps();