我从 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,分段错误。