11

我从 Allegro 5 开始,但很快我就陷入了我正在编写的第二个类似 hello-world 的程序中。经过一番调试,我得出结论,程序在调用函数时崩溃了al_clear_to_color(ALLEGRO_COLOR)。我尝试过静态和动态链接快板,但问题仍然存在。我完全迷路了。

这是代码:

#include <cstdio>
#include <allegro5/allegro.h>

int main() {
    ALLEGRO_DISPLAY         *display;
    ALLEGRO_KEYBOARD_STATE  kbState;

    if(!al_init())
        return 0;

    if(!al_install_keyboard())
        return 0;

    display = al_create_display(800, 600);
    if(!display)
        return 0;

    do {
        al_get_keyboard_state(&kbState);

        al_clear_to_color(al_map_rgb(255, 255, 255));

        al_flip_display();

        al_rest(0.5);
    } while(!al_key_down(&kbState, ALLEGRO_KEY_ESCAPE));

    al_destroy_display(display);

    return 0;
}

编辑:

换行

al_clear_to_color(al_map_rgb(255, 255, 255));

为线

al_clear_to_color(tempClearColor);

声明

ALLEGRO_COLOR tempClearColor = al_map_rgb(255, 255, 255);

在循环开始之前,它确实可以工作,但是当函数崩溃时

al_destroy_display(display);

叫做。

调试器返回消息:

读取 C:\Program Files (x86)\CodeBlocks\MinGW\bin\libstdc++-6.dll 的共享库符号时出错:
程序收到信号 SIGSEGV,分段错误。

4

0 回答 0