我包括错了什么?未定义的引用al_init_image_addon错误,
问题描述:
我包括错了什么? 我使用的代码块+ allegro5 + Ubuntu的11.10我包括错了什么?未定义的引用al_init_image_addon错误,
,并得到这2个错误
未定义的引用 'al_init_image_addon' 未定义的参考`al_init_primitives_addon“|
我没有正确安装allegro5与所有的依赖关系。加载allegro.h的第一个教程工作正常,它创建了一个正常的窗口,与xterm窗口不同。 我从快板维基
#include "allegro5/allegro.h"
#include "allegro5/allegro_image.h"
#include <allegro5/allegro_primitives.h>
#include "allegro5/allegro_native_dialog.h"
int main()
{
ALLEGRO_DISPLAY *display = NULL;
ALLEGRO_DISPLAY_MODE disp_data;
al_init();
al_init_image_addon(); // <---------ERROR HERE
al_init_primitives_addon();// < --------ERROR HERE TOO
al_set_new_display_flags(ALLEGRO_FULLSCREEN);
display = al_create_display(disp_data.width,disp_data.height);
al_rest(3);
al_destroy_display(display);
return 0;
}
答
以及继“全屏教程秀”,以快板的主页做一个小的谷歌搜索和发布后,我得到了正确的答案,
我失踪了。所以文件在工具>编译器& DEbugger> LINKER下的链接器部分。
我不得不添加这些行
/usr/lib/liballegro_dialog.so
/usr/lib/liballegro_color.so
/usr/lib/liballegro_audio.so
/usr/lib/liballegro_image.so
/usr/lib/liballegro_physfs.so
/usr/lib/liballegro.so
/usr/lib/liballegro_font.so
/usr/lib/liballegro_acodec.so
/usr/lib/liballegro_main.so
/usr/lib/liballegro_memfile.so
/usr/lib/liballegro_primitives.so
/usr/lib/liballegro_ttf.so
and `pkg-config --libs allegro-5.0`
看到这个帖子的截图。
http://hongouru.blogspot.com/2012/02/solved-allegro5-undefined-reference-to.html
答
倘若任何人有这个问题,修复被添加allegro_image-5.0
您pkg配置路径例如:
gcc game.c -o game $(pkg-config --cflags --libs allegro-5.0 allegro_image-5.0)
你应该这样做想:'pkg配置--libs快板-5.0 allegro_dialog-5.0'即,列出您在pkg-config行上使用的所有Allegro库。如果直接链接某些内容,则可能会错过依赖关系。 – Matthew 2012-02-10 15:59:15