2012-02-09 68 views
2

我包括错了什么? 我使用的代码块+ 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; 
} 

回答

1

以及继“全屏教程秀”,以快板的主页做一个小的谷歌搜索和发布后,我得到了正确的答案,

我失踪了。所以文件在工具>编译器& 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

+1

你应该这样做想:'pkg配置--libs快板-5.0 allegro_dialog-5.0'即,列出您在pkg-config行上使用的所有Allegro库。如果直接链接某些内容,则可能会错过依赖关系。 – Matthew 2012-02-10 15:59:15

0

倘若任何人有这个问题,修复被添加allegro_image-5.0您pkg配置路径例如:

gcc game.c -o game $(pkg-config --cflags --libs allegro-5.0 allegro_image-5.0)