2011-06-13 73 views
0

这是我第一次尝试将我的文件分成4个文件夹:图像,源代码,声音,头文件。我的问题是:我试图从源文件夹中的文件调用的图像文件夹中加载一个简单的BMP。这里是我的代码:SDL - 不加载图像

 
#include <SDL/SDL.h> 

int main(int argc, char *argv[]) 
{ 
    SDL_Surface *hello = NULL; 
    SDL_Surface *screen = NULL; 

    screen = SDL_SetVideoMode(640, 480, 32, SDL_SWSURFACE); 
    hello = SDL_LoadBMP("../images/hello.bmp"); 

    SDL_BlitSurface(hello, NULL, screen, NULL); 

    SDL_Flip(screen); 

    SDL_Delay(2000); 

    SDL_FreeSurface(hello); 

    SDL_Quit(); 

    return 0; 

} 

显然,调用“../images/hello.bmp”不起作用。

+6

要说清楚的是,您是从源目录运行程序的吗?请记住,路径相对性将来自你正在运行程序的地方,而不一定是你编译它的地方。 – dolphy 2011-06-13 16:34:56

+0

哦,不。我正在从主文件夹运行程序。这是我的问题!谢谢你为我澄清! :D – Imnotanerd 2011-06-13 16:39:42

+0

您可能应该有一个bin文件夹,您的最终发行版位于此处。您应该将其设置为二进制输出文件的目录。你的图像和声音文件夹也应该在那里,但不是你的源代码和头文件,因为据推测,它们不会成为发行版的一部分。 – 2011-06-13 18:23:52

回答

2

我想你忘了打电话给SDL_Init()