1. ホーム
  2. c++

[解決済み] SFML 2.1 と Codeblocks エラー: sfml-graphics-2.dll がコンピュータにありません。

2022-02-09 19:06:54

質問

c++とSFMLを使い始めて、ようやく全てがうまく動くようになりました。以前は未定義参照エラーが発生していましたが、ダウンロードしたSFMLの種類が違っていて、DW2ではなくSJLJを取得していたことに気づきました。この問題は解決されましたが、別の問題が発生しました。現在、SFMLプログラムを実行すると、小さなウィンドウが開きます。

と書かれています。

sfml-graphics-2.dllが見つからないため、プログラムを開始することができません。 あなたのコンピュータ この問題を解決するには、プログラムを再インストールしてみてください。

そして、"Ok"を押すか、ウィンドウを閉じると、プログラムが動かなくなるのです。混乱しないように:プログラムは開かず、コンソール上で開かれました。

以下は、codeblocksのチュートリアルサイトから直接コピー&ペーストしたコードです(おそらく役に立たないでしょう)。

#include <SFML/Graphics.hpp>

int main()
{
    sf::RenderWindow window(sf::VideoMode(200, 200), "SFML works!");
    sf::CircleShape shape(100.f);
    shape.setFillColor(sf::Color::Green);

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

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

    return 0;
}

解決方法は?

SFML はデフォルトでダイナミックリンクされているので、 sfml-graphics-2.dll を (他の SFML サブシステムの dll ファイルと一緒に) 実行形式と同じディレクトリに配置する必要があります。