1

我正在使用SFML製作一些項目。我從他們的官方站點下載了庫,使用cmake我製作了VS10項目,編譯它並獲取了我需要的所有庫和文件。然而,在項目中,我不斷收到廢話類似錯誤在C++中編譯SFML庫的問題

類 「SF :: SoundBuffer」 沒有成員 「LoadFromFile」

類 「SF ::聲」 沒有成員 「SetBuffer」

即使我已經檢查過SoundBuffer頭文件中有一個名爲LoadFromFile的函數,而在Sound中有一個名爲SetBuffer的函數。

SoundM::SoundM(void) 
    { 
    buffer.LoadFromFile("ress/soundA.wav"); 
    collision.SetBuffer(buffer); 
    } 



    #ifndef SOUND_H 
    #define SOUND_H 

    enum Sounds { 
PaddleCollision, 
Losing 
    }; 

    class SoundM { 
    public: 
SoundM(void); 
void play(Sounds Sound); 
    private: 
sf::SoundBuffer buffer; 
sf::Sound collision; 
    }; 

    #endif 

缺少什麼我在這裏?

+0

請清理代碼。這次不要刪除問題。 – inkooboo 2012-07-05 14:10:57

+0

您是否包含所需的.h文件? – 2012-07-05 14:29:49

+0

是的,我有。這是非常奇怪的行爲。 – Takarakaka 2012-07-05 14:36:35

回答

2

我假定您使用的是SFML版本2.0 RC。有一個名稱約定更改,現在,所有函數名稱都以小寫字母開頭(駱駝大小寫)。

所以你應該嘗試。

buffer.loadFromFile("ress/soundA.wav"); 
collision.setBuffer(buffer); 

取而代之。

buffer.LoadFromFile("ress/soundA.wav"); 
collision.SetBuffer(buffer); 

我希望能幫到你!