c++ - C++ 中 SFML 库的编译问题

标签 c++ visual-studio-2010 compiler-errors compiler-warnings sfml

我正在使用 SFML 制作一些项目。我已经从他们的官方网站下载了库,使用 cmake 我制作了 VS10 项目,编译它并获得了我需要的所有库和文件。但是,在我的项目中,我不断收到像

这样的无意义错误

class "sf::SoundBuffer" has no member "LoadFromFile"

class "sf::Sound" has no member "SetBuffer"

尽管我已经检查了 SoundBuffer header 中有一个名为 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 

我在这里错过了什么?

最佳答案

我假设您使用的是 SFML 2.0 RC 版。名称约定发生了变化,现在所有函数名称都以小写字母(驼峰式)开头。

所以你应该试试看。

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

而不是那个。

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

希望对你有帮助!

关于c++ - C++ 中 SFML 库的编译问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11345927/

相关文章:

c++ - boost 共享指针 : Simultaneous Read Access Across Multiple Threads

python - 从 C++ 中在本地范围内创建 Python 对象

c++ - C++ 模板类的成员函数中的类型/值不匹配

c++ - 使用和不使用 new 运算符初始化对象

.net - 了解 .NET 程序集

struct - 如何在MQL5的内置结构中添加新项目?

visual-studio - 如何使用键盘关闭 Visual Studio 的可停靠窗口?

visual-studio-2010 - MSBuild 悄悄地跳过一个项目(在我的 sln 中的许多项目中)

c# - 名称 'Inputname'在当前上下文中不存在

c++ - C++ 11统一初始化(即列表初始化)不与继承一起编译