Я пытался работать с версией Allegro версии 5.2, но по какой-то причине я не могу ее скомпилировать на моей системе (под управлением Windows 10 64 бит) с использованием MinGW.Allegro 5.2 ошибки компиляции
вот что я пытаюсь связать. Согласно вики это должно быть правильно, но всякий раз, когда я пытаюсь скомпилировать пример кода, я получаю ошибки, такие как
src\game.c|13|undefined reference to `al_clear_to_color'|
Эта функция должна присутствовать все, что я знаю.
Я очень признателен за любую помощь :)
Вот пример кода, который не компилируется
#include"../include/init.h"
#include "allegro5/allegro5.h"
#include"allegro5/allegro_audio.h"
#include"allegro5/allegro_acodec.h"
#include<stdio.h>
#include<stdlib.h>
const float fps = 30;
const int width = 256;
const int height = 240;
int init() {
running = 1;
if(!al_init()) {
fprintf(stderr, "failed to initialize allegro!\n");
return -1;
}
timer = al_create_timer(1.0/fps);
if(!timer) {
fprintf(stderr, "failed to create timer!\n");
return -1;
}
display = al_create_display(width, height);
if(!display) {
fprintf(stderr, "failed to create display!\n");
return -1;
}
event_queue = al_create_event_queue();
if(!event_queue) {
fprintf(stderr, "failed to create event_queue!\n");
return -1;
}
/*if(!al_install_audio()){
fprintf(stderr, "failed to initialize audio!\n");
return -1;
}
if(!al_install_keyboard()) {
fprintf(stderr, "failed to initialize the keyboard!\n");
return -1;
}
if(!al_init_acodec_addon()){
fprintf(stderr, "failed to initialize audio codecs!\n");
return -1;
}
if (!al_reserve_samples(1)){
fprintf(stderr, "failed to reserve samples!\n");
return -1;
}*/
if(!al_init_primitives_addon()) {
fprintf(stderr, "failed to create primitives addon");
return -1;
}
al_register_event_source(event_queue, al_get_display_event_source(display));
// register timer event for max fps
al_register_event_source(event_queue, al_get_timer_event_source(timer));
//al_register_event_source(event_queue, al_get_keyboard_event_source());
al_clear_to_color(al_map_rgb(0,0,0));
al_flip_display();
al_start_timer(timer);
return 1;
}
Ну, я действительно не понимаю, почему код не компилируется, вы можете попробовать спросить разработчиков непосредственно на форумах allegro.cc. Они обычно любят помогать новым пользователям :) – rlam12
Кажется, хорошая идея :) Спасибо – unlink