我包括哪些错误? 我正在使用codeblocks + allegro5 + ubuntu 11.10
并得到这2个错误
对'al_init_image_addon'的未定义引用 对'al_init_primitives_addon'|
的未定义引用我确实正确地安装了allegro5以及所有依赖项。加载allegro.h的第一个教程工作正常,它创建了一个除xterm窗口之外的普通窗口。 我正在关注来自allegro wiki的“全屏教程中的节目”
#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;
}
答案 0 :(得分:1)
好吧,在做了一些谷歌搜索并在allegro的主页上发帖后,我得到了正确答案,
我错过了TOOLS&gt;下链接器部分中的.so文件。编译器&amp; DEbugger&gt; 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 :(得分:0)
如果有人遇到此问题,则修复程序会将allegro_image-5.0
添加到您的pkg-config路径,例如:
gcc game.c -o game $(pkg-config --cflags --libs allegro-5.0 allegro_image-5.0)