parse error in allegro beispielprogramm



  • Hi Leute,
    zum Test von Allegro hab ich einfach das Beispielprogramm verwendet:

    #include <allegro.h>

    int main (int argc, char *argv[])
    {
    allegro_init ();
    install_keyboard ();
    set_color_depth (16);
    set_gfx_mode (GFX_AUTODETECT, 640,480,0,0);
    BITMAP *my_pic;
    my_pic = load_bitmap ("bild1.bmp", NULL);

    acquire_screen ();
    .
    .
    .
    }
    END_OF_MAIN ();

    Ich arbeite mit dem djgpp und er meldet mir folgenden Fehler in der Zeile

    BITMAP my_pic;
    parse error befor '
    '

    Ich sehe in meinem Programm keinen Fehler, kann mir jemand helfen ?



  • hier ein testbeispiel, das funktioniert für allegro unter djgpp.

    pfade, die eingestellt sein müssen zu einfacheren handhabung(ich habe ne kleine batch, die ich in der konsole vorher starte) :

    set PATH=D:\DJGPP\BIN
    SET DJGPP=D:\DJGPP\DJGPP.ENV
    SET LIBRARY_PATH=D:\DJGPP\LIB
    

    abgespeichert als .c file, compiliert mit:

    gcc deinname.c -o deine.exe -lalleg

    folgender code:

    #include <allegro.h> // You must include the Allegro Header file
    
    int main(int argc, char *argv[])
    {
    allegro_init();        // Initialize Allegro
    install_keyboard(); // Initialize keyboard routines
    set_color_depth(16); // Set the color depth
    set_gfx_mode(GFX_AUTODETECT, 640,480,0,0); // Change our graphics mode to 640x480
    BITMAP *my_pic; //Declare a BITMAP called my_pic
    my_pic = load_bitmap("deinbild.bmp", NULL); // Load our picture
    
    acquire_screen();
    blit(my_pic, screen, 0,0,0,0,640,480);//Draw the whole bitmap to the screen at (0,0)
    release_screen();
    readkey();// Wait untill a key is pressed
    destroy_bitmap(my_pic);//Release the bitmap data
    return(0);// Exit with no errors
    }
    END_OF_MAIN(); // This must be called right after the closing bracket of your MAIN function.
                          // It is Allegro specific.
    

    achtung: das bild in den gleichen ordner legen, und aufpassen, daß es wirklich ein bitmap ist.

    so, und nu viel spaß.



  • Der Fehler liegt darin, dass
    BITMAP *my_pic;
    nicht am Anfang von main() deklariert wurde...
    Also:
    int main ()
    {
    BITMAP *my_pic;
    allegro_init ();
    .
    .
    .
    }



  • Das Problem hat ich frueher mit dem Dev-Cpp: schau in die FAQ von Allegro, da wird der Fehler erklaert: es liegt IIRC daran, dass standardmaessig auch die windows.h inkludiert wird, und diese ebenfalls ein BITMAP-Datentyp deklariert... 🙂


Anmelden zum Antworten