Eclipse和MinGW的SFML发出错误

时间:2013-06-11 12:18:27

标签: c++ eclipse mingw eclipse-cdt sfml

我正在尝试在Eclipse中使用SFML。我已经设置了MinGW,这样我就可以在Eclipse中编写C ++程序。但是,当我尝试使用SFML时,我会收到错误。

首先我下载了​​SFG on the SFML download page的MinGW版本。然后我将其解压缩到C:/(path to my program)/Debug/SFML

然后,我按照http://www.sfml-dev.org/tutorials/2.0/start-cb.php的教程进行操作。 (要查看完全我做了什么,请将鼠标悬停在下面的空白处)

  

我接下来要做的就是右键单击我的项目(在Eclipse中),然后选择“属性”。我去了C/C++ Build -> Settings。在GCC C++ Compiler -> Preprocessor下,我添加了SFML-DYNAMIC作为已定义的符号(-D)。然后在GCC C++ Compiler -> Includes下,我添加了"SFML\include"作为包含路径(-I)。最后,在MinGW C++ Linker -> Libraries下,我添加了sfml-graphics-dsfml-window-dsfml-audio-dsfml-system-d作为库(-l)和"SFML\lib"作为图书馆搜索路径(-L)。然后我将示例代码从教程复制到主C ++文件。

然而,当我 CTRL B 构建然后从Eclipse运行我的程序时,没有任何反应!该程序立即终止。当我尝试执行C:/(path to my program)/Debug/SFMLTest.exe时,我收到错误

  

程序无法启动,因为缺少sfml-graphics-d-2.dll   你的电脑。尝试重新安装该程序以解决此问题。

然而,sfml-graphics-d-2.dll确实在C:/(path to my program)/Debug/SFML/bin!我该如何解决这个问题?

编辑我尝试将Debug/SFML/bin中的所有内容复制到.exe所在的位置,但是当我运行它时,我得到了这个:

SFMLTest.exe has stopped working
Close Program

1 个答案:

答案 0 :(得分:0)

dll应与可执行文件(即SFMLTest.exe)放在同一目录中,或放在系统路径(内存中C:/Windows/System32)中。但有时候,你的IDE可能执行你的程序并不完全在与编译输出它的目录相同的位置(VS至少这样做)。也许在属性中搜索这种选项并正确找到你的dll。

如果您希望分发您的程序,您需要提供它的dll,或者静态编译它(这在SFML网站的教程中提到)。