2013-05-20 4 views
0

Xcode 4.6에서 SDL 프로젝트를 시험하고 있습니다. 나는 HERE에 지시를 따랐고 모든 것이 잘되었다. 거기에 테스트 코드도 썼다.왜 상대 경로가 작동하지 않습니까?

는 지금은 BMP

SDL_Surface* bmp = SDL_LoadBMP("cb.bmp"); 

그것은 BMP를로드 할 수 없습니다 말한다로드하려고 할 때. 그러나 Absoulte 경로 을 사용하면 올바르게 작동합니다.

무엇이 문제입니까? 상대 경로를 사용하려면 어떻게해야합니까? 다음과 같이

폴더 구조는 다음과 같습니다 내가 엑스 코드로 시작했을 때 나는이 동일한 문제가 있었다

sdl_test 
    sdl_test.xcodeproj 
    sdl_test 
     cb.bmp 
     SDLMain.m 
     SDLMain.h 
     main.cpp 
     sdl_test.1 
+1

비트 맵이 현재 작업 디렉토리에 있는지 확인하십시오. –

+0

예, 비트 맵은 main.cpp와 나란히 있습니다. – ashokadhikari

+0

@Captain Obvlious : 프로젝트의 디렉토리 구조를 추가했습니다 – ashokadhikari

답변

0

.

SDLMain.m 파일에서 작업 지시를 변경해야합니다. setupWorkingDirectory 메서드를 찾아 다음으로 바꿉니다.

/* Set the working directory to the .app's parent directory */ 
- (void) setupWorkingDirectory:(BOOL)shouldChdir 
{ 
    //setting the working directoy to MyApp.app/Contents/Resources/ 
    NSString *resourcePath = [[NSBundle mainBundle] resourcePath]; 
    [[NSFileManager defaultManager] changeCurrentDirectoryPath:resourcePath]; 

} 

희망이 있습니다.

관련 문제