2013-05-20 5 views
0

Я пробовал проект SDL в Xcode 4.6. Я следовал инструкциям в HERE, и все прошло хорошо. Я даже проверил там тестовый код.Почему относительный путь не работает?

Теперь, когда я пытаюсь загрузить BMP

SDL_Surface* bmp = SDL_LoadBMP("cb.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

Я имел точно такую ​​же проблему, когда я начал с Xcode.

Вы должны изменить рабочий режим в файле 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]; 

} 

Надеюсь, что это сработает.

Смежные вопросы