C++ 我';我错了吗?对al_init_image_加载项错误的未定义引用,

C++ 我';我错了吗?对al_init_image_加载项错误的未定义引用,,c++,linux,codeblocks,allegro,C++,Linux,Codeblocks,Allegro,我有什么错? 我正在使用codeblocks+allegro5+Ubuntu11.10 得到这两个错误 对“al_init_image_addon”的未定义引用 对'al_init_primitives_addon'的未定义引用| 我确实正确安装了allegro5和所有依赖项。关于加载allegro.h的第一个教程工作得很好,它创建了一个与xterm窗口不同的普通窗口。 我正在关注allegro维基上的“全屏显示教程” #include "allegro5/allegro.h" #include

我有什么错? 我正在使用codeblocks+allegro5+Ubuntu11.10

得到这两个错误

对“al_init_image_addon”的未定义引用 对'al_init_primitives_addon'的未定义引用|

我确实正确安装了allegro5和所有依赖项。关于加载allegro.h的第一个教程工作得很好,它创建了一个与xterm窗口不同的普通窗口。 我正在关注allegro维基上的“全屏显示教程”

#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;
}
#包括“allegro5/allegro.h”
#包括“allegro 5/allegro_image.h”
#包括
#包括“allegro5/allegro_native_dialog.h”
int main()
{
快板显示*显示=NULL;
快板显示模式显示数据;
al_init();

al_init_image_addon();//好吧,在谷歌搜索了一下并在allegro的主页上发布后,我得到了正确的答案

我缺少链接器部分中工具>编译器和调试器>链接器下的.so文件

我不得不添加这些行

/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`
请参阅本文的屏幕截图


如果有人出现此问题,修复程序会将
allegro_image-5.0
添加到您的pkg配置路径中,例如:

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

您应该这样做:
pkg config--libs allegro-5.0 allegro_dialog-5.0
即,在pkg config行列出您正在使用的所有allegro lib。如果直接链接一些,您可能会错过它们所依赖的依赖项。