2 Stimmen

was ich bin einschließlich falsch? undefinierten Verweis auf al_init_image_addon Fehler,

Was habe ich falsch aufgenommen? Ich benutze codeblocks + allegro5 + ubuntu 11.10

und erhalte diese 2 Fehler

undefinierter Verweis auf 'al_init_image_addon' undefinierter Verweis auf `al_init_primitives_addon'|

Ich habe allegro5 korrekt mit allen Abhängigkeiten installiert. Das erste Tutorial zum Laden der allegro.h funktioniert gut, es erstellt ein normales Fenster neben dem xterm-Fenster. Ich folge dem "show in fullscreen tutorial" aus dem 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;
}

1voto

HoNgOuRu Punkte 727

Nun, nach einer kleinen Google-Suche und einem Beitrag auf der Homepage von allegro habe ich die richtige Antwort erhalten,

Ich habe die .so-Dateien im Linker-Bereich unter TOOLS > Compiler&DEbugger > LINKER vermisst.

Ich musste diese Zeilen hinzufügen

/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`

In diesem Beitrag finden Sie einen Screenshot.

http://hongouru.blogspot.com/2012/02/solved-allegro5-undefined-reference-to.html

1voto

ben lemasurier Punkte 2572

Für den Fall, dass jemand dieses Problem hat, ist die Lösung das Hinzufügen von allegro_image-5.0 zu Ihrem pkg-config Pfad hinzufügen, z.B.:

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

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X