【问题标题】:C/C++ Allegro program wont runC/C++ Allegro 程序无法运行
【发布时间】:2010-11-20 06:44:16
【问题描述】:

不会加载我的图片 我的默认错误消息是“错误加载图片.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()

【问题讨论】:

    标签: c++ c allegro


    【解决方案1】:

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

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


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

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

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

    【讨论】:

    • 请注意,任何好的 IDE 都可以让您设置程序执行的路径。因此,如果您的图像的完整路径有效(如建议的那样),那么只需了解如何设置您的 IDE 以在您期望的路径中启动您的程序,然后您可以返回使用相对路径。
    【解决方案2】:

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

    例如:

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

    【讨论】:

    • 反斜杠必须转义或改为正斜杠;照原样,这是一个无效的文件名。此外,@Leftium 的回答已经提出了这一点。
    猜你喜欢
    • 2019-03-15
    • 2016-09-23
    • 1970-01-01
    • 1970-01-01
    • 2020-12-12
    • 2013-03-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多