Я начинаю с Allegro 5, но вскоре я застрял во второй программе, похожей на мир, которую я кодирую. После некоторой отладки я пришел к выводу, что программа вылетает, когда вызывает функцию al_clear_to_color(ALLEGRO_COLOR)
. Я попытался связать аллегро статически и динамично, но проблема все еще остается. Я полностью потерян.
Вот код:
#include #include 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, segmentation fault.