2012-02-09 82 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)