2

我正在尝试将 SFML 与 Eclipse 一起使用。我已经设置了 MinGW,以便我可以在 Eclipse 中编写 C++ 程序。但是,当我尝试使用 SFML 时,会出现错误。

首先,我在 SFML 下载页面下载了SFML 的 MinGW 版本。然后我把它解压成C:/(path to my program)/Debug/SFML.

然后,我按照http://www.sfml-dev.org/tutorials/2.0/start-cb.php的教程进行操作。(要确切了解我所做的,请将鼠标悬停在下面的空间上)

接下来我做的是右键单击我的项目(在 Eclipse 中)并选择“Properties”。我去了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++ 文件中。

但是,当我CTRLB从 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 已停止工作
关闭程序

4

1 回答 1

0

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

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

于 2013-06-11T17:27:19.387 回答