C / C ++ Allegro程序不会运行

时间:2010-11-20 06:44:16

标签: c++ c allegro

不会加载我的照片 我的默认错误信息是“错误加载picture.bmp”每次弹出并且不会运行

#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()

2 个答案:

答案 0 :(得分:1)

您需要提供更多信息......

  • 您使用的是什么平台? (MS Visual C ++?Linux?Mac?...)
  • 哪个版本的Allegro? (我猜4.x)

<小时/> 假设您的问题是“我如何让我的Allegro程序按预期显示我的位图”,请尝试

确保生成的可执行文件和picture.bmp位于同一目录中。我猜您在Windows上使用的是某种类型的Microsoft IDE,并且您正试图从IDE(如通过调试菜单或按F5)生成的可执行文件放在一个特殊的输出目录中。它找不到你的picture.bmp文件。

或者,您可以尝试提供picture.bmp文件的完整路径。但是,您应该只使用此方法来查看这是否确实是问题。

答案 1 :(得分:0)

我相信您的程序可能无法找到您尝试加载的位图图像。尝试在代码中插入位图的确切路径。

例如:

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