2

SFML 2.0 チュートリアルを Eclipse でコンパイルしようとしています。プログラムは正常にコンパイルされますが、実行すると次のエラーが発生します。

/home/eXistys/workspace/SFML/Debug/SFML: シンボル検索エラー: /home/eXistys/workspace/SFML/Debug/SFML: 未定義のシンボル: _ZN2sf12RenderStates7DefaultE

GCC C++ Compiler > includesの下に、次のものがあります。

  • /home/eXistys/SFML/include

そしてGCC C ++リンカーの下で私は持っています:

  • `sfml グラフィックス
  • `sfml-window
  • `sfml-system

これは何ですか?Google では結果が得られず、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です。これは、sfml-graphics の一部である RenderStates.cpp で宣言されています。sfml-graphics があなたのプログラムとリンクしていることは確かですか? rpath は正しく設定されていますか? 共有ライブラリではなく、プログラムの実行可能ファイルをビルドしていると思いますよね? やってみましたかLD_PRELOAD=/path/to/sfml-graphics/lib.so /path/to/program

于 2012-06-16T12:13:27.653 に答える