2010-11-20 11 views
1

wird nicht mein Bild meine Standard-Fehlermeldung laden, die jedes Mal, „Fehler beim Laden der Picture.bmp“ erscheint und wird nicht laufenC/C++ Allegro-Programm wird nicht laufen

#include "allegro.h" 

int main(void) 
{ 
    char*filename="picture.bmp"; 
    BITMAP*image; 
    int ret; 

    allegro_init(); 
    install_keyboard(); 

    set_color_depth(32); 
    ret=set_gfx_mode(GFX_AUTODETECT_WINDOWED,640,480,0,0); 
    if(ret!=0) 
    { 
       allegro_message(allegro_error); 
       return 1; 
       } 


    image=load_bitmap(filename,NULL); 
    if(!image) 
    { 
      allegro_message("error loading %s",filename); 
      return 1; 
       } 

    blit(image,screen,0,0,0,0,SCREEN_W,SCREEN_H); 

    destroy_bitmap(image); 

    textprintf_ex(screen,font,0,0,1,-1,"%dx%d",SCREEN_W,SCREEN_H); 

    while(!keypressed()); 

    allegro_exit(); 
    return 0; 

} 
END_OF_MAIN() 
+0

Haben Sie eine Frage? –

Antwort

1

Sie gehen schaffen zu müssen weitere Informationen ...

  • Welche Plattform verwenden Sie? (MS Visual C++? Linux? Mac? ...)
  • Welche Version von Allegro? (Ich vermute, 4.x)


Ihre Frage Unter der Annahme, „Wie kann ich mein Allegro-Programm bekommen meine Bitmap angezeigt werden, wie beabsichtigt,“ versuchen,

Achten Sie auf die ausführbare Datei file und picture.bmp befinden sich im selben Verzeichnis. Meine Vermutung ist, dass Sie irgendeine Art von Microsoft IDE unter Windows verwenden und versuchen, das Programm innerhalb der IDE auszuführen (wie über das Debug-Menü oder F5 drücken). Die resultierende ausführbare Datei wird in einem speziellen Ausgabeverzeichnis abgelegt. Es kann Ihre Bild.bmp-Datei nicht finden.

Alternativ können Sie versuchen, den vollständigen Pfad zu Ihrer picture.bmp-Datei anzugeben. Sie sollten diese Methode nur verwenden, um zu sehen, ob dies tatsächlich das Problem ist.

+0

Beachten Sie, dass Sie mit jeder guten IDE den Pfad angeben können, in dem Ihr Programm ausgeführt wird. Wenn also der vollständige Pfad zu Ihrem Bild funktioniert (wie vorgeschlagen), finden Sie heraus, wie Sie Ihre IDE so einrichten, dass das Programm in dem erwarteten Pfad gestartet wird, und dann können Sie wieder relative Pfade verwenden. – Matthew

0

Ich glaube, dass Ihr Programm das Bitmap-Bild, das Sie versuchen zu laden, nicht finden kann. Versuchen Sie, den genauen Pfad zu Ihrer Bitmap in Ihrem Code einzufügen.

Zum Beispiel:

char*filename="C:\My Documents\Pictures\picture.bmp"; 
+0

Die umgekehrten Schrägstriche müssen mit Escapezeichen versehen oder geändert werden, um Schrägstriche weiterzuleiten. Das ist ein ungültiger Dateiname. Auch die Antwort von @ Leftium hat dies bereits angedeutet. – Matthew

Verwandte Themen