У меня есть приложение SDL, которое я делаю в xcode.
int main( int argc, char* args[] )
{
//Start SDL
SDL_Init( SDL_INIT_EVERYTHING );
//The images
SDL_Surface* hello = NULL;
SDL_Window* screen = NULL;
SDL_Renderer *sdlRenderer = NULL;
//Set up screen
screen = SDL_CreateWindow("My Game Window",
SDL_WINDOWPOS_UNDEFINED,
SDL_WINDOWPOS_UNDEFINED,
640, 480,
SDL_WINDOW_OPENGL);
//Create Renderer
sdlRenderer = SDL_CreateRenderer(screen, -1, 0);
//Load image
hello = SDL_LoadBMP( "hello.bmp" );
//Create texture from the surface
SDL_Texture* hello_texture = SDL_CreateTextureFromSurface(sdlRenderer, hello);
//copy texture to the renderer's buffer.
SDL_RenderCopy(sdlRenderer, hello_texture, NULL, NULL);
//Update Screen
SDL_RenderPresent(sdlRenderer);
//Pause
SDL_Delay( 5000 );
//Quit SDL
SDL_Quit();
return 0;
}
Так что все работает хорошо, но изображение не отображается. После отладки я обнаружил, что load_bmp возвращает ноль. Поэтому я попытался выяснить, каким должен быть правильный путь к файлу:
CFBundleRef mainBundle = CFBundleGetMainBundle();
CFURLRef resourcesURL = CFBundleCopyBundleURL(mainBundle);
CFStringRef str = CFURLCopyFileSystemPath( resourcesURL, kCFURLPOSIXPathStyle );
resourcesURL = CFBundleCopyResourceURL(
mainBundle,
CFSTR("hello.bmp"),
NULL,
NULL
);
но это также не дает мне ничего, так что кажется, что hello.bmp неправильно копируется в пакет? Кто-нибудь еще сталкивался с этим, и нет, что нужно сделать?
Задача ещё не решена.
Других решений пока нет …