2010-11-20 3 views
1

늘 내 사진 "오류로드 picture.bmp이"당신은 제공해야하는거야 모든 시간과 실 거예요 실행C/C++ 알레그로 프로그램은 늘

#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

당신은 질문이 있습니까? –

답변

1

팝업 내 기본 오류 메시지를로드 실행 좀 더 자세한 정보 ...

  • 어떤 플랫폼을 사용하고 있습니까? (MS Visual C++? Linux? Mac ... ...)
  • 어떤 버전의 Allegro? 귀하의 질문에 가정 (내가 추측하고있어 4.x의)


는 "내가 의도 한대로 내 비트 맵을 표시하는 내 알레그로 프로그램을 얻는 방법"

하려고 확인 결과 실행을 확인한다 file과 picture.bmp는 같은 디렉토리에 있습니다. 제 생각에는 Windows에서 일부 유형의 Microsoft IDE를 사용하고 있으며 IDE 내에서 프로그램을 실행하려고합니다 (예 : 디버그 메뉴를 사용하거나 F5 키를 누름). 결과 실행 파일은 특수 출력 디렉토리에 저장됩니다. picture.bmp 파일을 찾을 수 없습니다.

또는 picture.bmp 파일의 전체 경로를 제공해볼 수도 있습니다.이 방법이 실제로 문제인지 확인하기 위해서만 사용해야합니다.

+0

좋은 IDE라면 프로그램을 실행하는 경로를 설정할 수 있습니다. 따라서 이미지에 대한 전체 경로가 (제안 된대로) 작동한다면 예상되는 경로에서 프로그램을 시작하도록 IDE를 설정하는 방법을 찾은 다음 상대 경로를 사용하여 돌아갈 수 있습니다. – Matthew

0

프로그램이로드하려는 비트 맵 이미지를 찾지 못할 수도 있습니다. 코드에서 비트 맵의 ​​정확한 경로를 삽입 해보십시오. 예를 들어

:

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

백 슬래시는 이스케이프하거나 슬래시로 변경해야합니다. 그대로, 그것은 잘못된 파일 이름입니다. 또한, @ Leftium의 대답은 이미 이것을 제안했습니다. – Matthew