2

我正在尝试使用 Eclipse 编译 SFML 2.0 教程。该程序编译得很好,但是当我运行它时,我收到以下错误:

/home/eXistys/workspace/SFML/Debug/SFML:符号查找错误:/home/eXistys/workspace/SFML/Debug/SFML:未定义符号:_ZN2sf12RenderStates7DefaultE

GCC C++ Compiler > Includes下,我有:

  • /home/eXistys/SFML/include

在 GCC C++ Linker 下我有:

  • `sfml-图形
  • `sfml-窗口
  • `sfml 系统

这可能是什么?谷歌没有给出任何结果,SFML 论坛没有给出任何有用的信息,而且我找不到任何与 stackoverflow 真正相关的内容。

这是我编译成功的代码(本教程的源代码):

#include <SFML/Graphics.hpp>

int main()
{
    sf::RenderWindow window(sf::VideoMode(300, 200), "SFML works!");
    sf::Text text("Hello SFML");

    while (window.isOpen())
    {
        sf::Event event;
        while (window.pollEvent(event))
        {
            if (event.type == sf::Event::Closed)
                window.close();
        }

        window.clear();
        window.draw(text);
        window.display();
    }

    return 0;
}

我从这里下载了 SFML 2.0 的最新快照:https ://github.com/LaurentGomila/SFML

亲切的问候,

4

1 回答 1

2

你缺少的是sf::RenderStates::Default. 它在 RenderStates.cpp 中声明,它应该是 sfml-graphics 的一部分。您确定 sfml-graphics 与您的程序相关联吗?rpath 设置是否正确?我假设您正在构建程序可执行文件而不是共享库,对吗?你有没有尝试过LD_PRELOAD=/path/to/sfml-graphics/lib.so /path/to/program

于 2012-06-16T12:13:27.653 回答