У меня проблема с библиотеками Allegro 5.0.10 в Code :: Blocks. Кажется, они не связываются должным образом, потому что, когда я пытаюсь скомпилировать пример из вики:
#include <stdio.h>
#include <allegro5/allegro.h>
int main(int argc, char **argv)
{
ALLEGRO_DISPLAY *display = NULL;
if(!al_init())
{
fprintf(stderr, "failed to initialize allegro!\n");
return -1;
}
display = al_create_display(640, 480);
if(!display)
{
fprintf(stderr, "failed to create display!\n");
return -1;
}
al_clear_to_color(al_map_rgb(0,0,0));
al_flip_display();
al_rest(10.0);
al_destroy_display(display);
return 0;
}
Компилятор выдает ряд ошибок, таких как: D:/C++Dev/workspace/Obvi/Main.cpp:10: undefined reference to 'al_install_system'
, Я попытался исправить это, используя ссылку «другие параметры компоновщика».
(-lallegro-5.0.10-monolith-static-mt), но тогда компоновщик выдает ошибку: D:/TDM-GCC-64/bin/../lib/gcc/x86_64-w64-mingw32/4.9.2/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -lallegro-5.0.10-monolith-static-mt
, Я добавил «Поиск по каталогам»: libs для компоновщика и включает компилятор. В журнале сборки я также нашел: D:/TDM-GCC-64/bin/../lib/gcc/x86_64-w64-mingw32/4.9.2/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible D:\C++Dev\libs\allegro-5.0.10-mingw-4.7.1-tdm\lib/liballegro-5.0.10-monolith-static-mt.a when searching for -lallegro-5.0.10-monolith-static-mt
который говорит, что компоновщик находит библиотеку, но по какой-то причине игнорирует ее.
Вы связали библиотеку -lalleg?
Перейдите в Настройки-> Компилятор-> Настройки компоновщика-> Другие опции компоновщика и введите -lalleg.