2011-06-13 71 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()