2017-05-25 15 views
0

WindowsのラップトップでSFMLプログラムの例を実行しようとしています。関連する場合、ソースコードは、私は、このコマンドを使用して.oファイルを作成するので、最初のthis page.Windows 10でminGWを使用してSFML C++プログラムを実行する

にある -

g++ -c a.cpp -ISFML/SFML/include 
a.cppがメインのファイルである、と私SFMLパッケージがSFMLに位置しています

/SFML。

その後、私は、このコマンドを使用してコンパイル -

g++ a.o -o a -LSFML/SFML/lib -lsfml-graphics -lsfml-window -lsfml-system 

を、私は最初、私は特定のDLLを見つけることができないというエラーを得たプログラムを実行したときに、SFML-グラフィック-2などをだから私はそれらを発見し、置きますそれらはexeの隣にあります。しかし今、私が走ったとき、私はこの奇妙なエラーを受け取ります:

The procedure entry point _ZNSt7__cxx1112basic_stringSt11char_traitsIcESalcEE7reserveEj could not be located in the dynamic link library.

ここでは何が起こっていますか?

+0

'-std = C++ 11'をコマンドラインに追加してC++ 11標準へのコンパイルを有効にするとどうなりますか? – user4581301

+0

コンパイラに正しいlibsとdllを使用していますか?これは間違ったものを使用しているように聞こえます。 – Rosme

+0

@Rosme it's the windows 32公式サイトからダウンロード –

答えて

0

the SFML download pageのように、誤ったバージョンのコンパイラを使用している可能性があります。SFMLの他のライブラリバージョンは、作業ディレクトリから削除していないため、コードとリンカが一致しない可能性があります。最悪の場合、コンパイラがそこにリストされていない場合は、SFMLをコンパイルする必要があります。
CMakeを取得してください。 SFMLダウンロードページの一番下に移動して、2.4.2のソースコードを入手してください。 this guide on SFML's GitHub repoに従ってください。また、the guide on SFML's pageを使用することもできますが、古いバージョン用です。最初のガイドが逃したいくつかの質問に答えるかもしれません。
Ones CMakeがmakefileを生成しました。あなたはSFMLを構築しています。
幸運を祈る!

関連する問題