저는 SDL에 대한 lazyfoo 자습서를 따르고 있으며, 01 번 이미지에서 화면에 이미지를 표시하고 있지만 SDL에서 "hello.bmp를로드 할 수 없습니다"라는 메시지를 표시하고 있는데 그 이유를 알 수 없습니다.내 .app에서 hello.bmp를 참조하는 방법은 무엇입니까?
저는 OS X, Xcode 3.2 및 최신 버전의 SDL을 웹 사이트에서 사용하고 있습니다.
hello.bmp 이미지를 Xcode에 제대로로드하지 않는 것과 관련이 있다고 생각되지만 튜토리얼을 따라 갔으며 추가로 Google 검색 결과가 도움이되지 않았습니다. 누구든지이 문제를 해결하는 방법을 알고 있습니까?
편집 : 상대 경로와 관련이있는 것으로 보입니다. 아직 어떤 부분이 틀린 지 아직 확실하지 않습니다 ...
편집 : Project -> Edit Active Executable로 이동하여 Set Working Directory를 'Project Directory'로 설정하면 알 수 있습니다. .app 자체에 hello.bmp가로드되지 않는 이유를 이해하지 못합니다. 내가 뭘 놓치고 있니?
편집 : 아래는 요청에 따라 포함 된 lazyfoo 강의 01의 소스 코드입니다. 이것은 캐릭터 용 문자를 사용하는 코드입니다. 제 Xcode (버전 3.2)에 대한 정보가 필요하면 알려주십시오.
/*This source code copyrighted by Lazy Foo' Productions (2004-2012)
and may not be redestributed without written permission.*/
//Include SDL functions and datatypes
#include "SDL/SDL.h"
int main(int argc, char* args[])
{
//The images
SDL_Surface* hello = NULL;
SDL_Surface* screen = NULL;
//Start SDL
SDL_Init(SDL_INIT_EVERYTHING);
//Set up screen
screen = SDL_SetVideoMode(640, 480, 32, SDL_SWSURFACE);
//Load image
hello = SDL_LoadBMP("3.app/Contents/Resources/hello.bmp");
//Apply image to screen
SDL_BlitSurface(hello, NULL, screen, NULL);
//Update Screen
SDL_Flip(screen);
//Pause
SDL_Delay(2000);
//Free the loaded image
SDL_FreeSurface(hello);
//Quit SDL
SDL_Quit();
return 0;
}
나는 이것이 속한다라고 생각한다. –
스택 오버플로에서이 질문을해야하지만 코드가 없으면 상당히 빨리 닫힙니다. 코드를 편집하여 마이그레이션하십시오. – ChrisF
추가 된 소스 코드, 미안, 수동으로 각 줄의 시작 부분에 4 개의 공백을 추가 할 필요없이 올바르게 형식을 지정하는 방법을 알아낼 수 없습니다. 나는 한두 줄로 그 일을하는 방법을 기억했었다. 그러나 만약 그렇다면, 이제 사라졌다. –