【问题标题】:Allegro 5 assertion failAllegro 5 断言失败
【发布时间】:2013-11-19 08:15:08
【问题描述】:

我正在尝试使用 allegro 5.0.10 加载位图

ALLEGRO_PATH *path = al_get_standard_path(ALLEGRO_RESOURCES_PATH);
al_set_path_filename(path, "Bitmap.bmp");

al_init_image_addon();
ALLEGRO_BITMAP *bmp = al_load_bitmap(al_path_cstr(path, '/'));
if (!bmp) {
    fprintf(stderr, "No Background.bmp in this directory...");
    return -2;
}

al_draw_bitmap(bmp, 0, 0, 0);

当我尝试在调试模式下运行程序时,我得到了这个错误:

Assertion failed!

Program: c:\allegro\bin\allegro-5.0.10-monolith-md-debug.dll
File: allegro-git\src\system.c
Line: 336

Expression: active_sysdrv

...

我该如何解决这个问题?

【问题讨论】:

    标签: c++ windows visual-studio allegro allegro5


    【解决方案1】:

    你需要通过调用al_init()来初始化allegro。在此之前可以调用很少的 Allegro 函数。

    【讨论】:

    • 我没有展示完整的代码,但我已经做了必要的事情
    • @junyi00,如果你打电话给al_init(),你就不会收到这个错误。
    【解决方案2】:

    @junyi00,您需要确保在尝试加载任何资源之前调用al_init()。在上面的代码中,确保在调用 al_get_standard_path(ALLEGRO_RESOURCES_PATH)al_set_path_filename(path, "Bitmap.bmp")al_load_bitmap(al_path_cstr(path, '/')) 之前已经调用了 al_init(),基本上所有的 Allegro 函数都从那里调用。除了一两个之外,不能在此函数之前调用其他 Allegro 函数。请参阅 http://manpages.ubuntu.com/manpages/artful/en/man3/al_init.3alleg5.htmlhttp://manpages.ubuntu.com/manpages/zesty/en/man3/al_install_system.3alleg5.html 这些是 al_init() 和 al_install_system() Allegro 函数手册页的链接

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-06-13
      • 2011-05-27
      • 2021-03-16
      • 2010-09-26
      • 2018-11-09
      • 2021-01-20
      相关资源
      最近更新 更多