2017-05-25 85 views
0

所以我試圖在我的Windows筆記本上運行一個示例SFML程序。如果相關的源代碼是關於this page.在Windows 10上使用minGW運行SFML C++程序

所以首先我用這個命令使.o文件將 -

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 Standard編譯,會發生什麼情況? – user4581301

+0

你使用正確的庫和DLL爲你的編譯器?這聽起來更像是你使用不正確的。 – Rosme

+0

@Rosme這是從官方網站下載的32個窗口 –

回答

0

由於the SFML download page狀態,您可能會使用錯誤版本的編譯器,SFML的其他庫版本,您尚未從工作目錄中刪除可能與代碼和鏈接器不匹配的SFML版本。最糟糕的情況是,如果你的編譯器沒有在那裏列出,你必須自己編譯SFML:
獲取CMake。通過轉到SFML下載頁面的底部獲取2.4.2的源代碼。按照this guide on SFML's GitHub repo。或者,您可以使用the guide on SFML's page,但它適用於較舊的版本。它可能會回答第一個嚮導錯過的一些問題。
其中一個CMake已經生成了makefiles,您正在構建SFML。
祝你好運!

相關問題