我正在尝试将 SFML 与 Eclipse 结合使用。我已经设置了 MinGW,这样我就可以在 Eclipse 中编写 C++ 程序。但是,当我尝试将 SFML 与它一起使用时,出现错误。
首先我下载了 SFML 的 MinGW 版本 on the SFML download page .然后我将它解压到 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-d
、sfml-window-d
、sfml- audio-d
和sfml-system-d
作为库 (-l
) 和"SFML\lib"
作为库搜索路径 (-L
)。然后我将示例代码从教程复制到主 C++ 文件。
但是,当我CTRLB 构建然后从 Eclipse 运行我的程序时,没有任何反应!该程序立即终止。当我尝试执行 C:/(path to my program)/Debug/SFMLTest.exe
时,出现错误
The program can't start because sfml-graphics-d-2.dll is missing from your computer. Try reinstalling the program to fix this problem.
但是,sfml-graphics-d-2.dll
确实在 C:/(path to my program)/Debug/SFML/bin
中!我该如何解决这个问题?
编辑 我尝试将所有内容从 Debug/SFML/bin
复制到我的 .exe
所在的位置,但是当我运行它时,我得到这个:
最佳答案
dll
应与您的可执行文件(即 SFMLTest.exe)放在同一目录中,或者放在您的系统路径中(C:/Windows/System32
从内存中)。但有时,您的 IDE 可能会在与从编译输出程序的目录不完全相同的目录中执行您的程序(至少 VS 会这样做)。也许在属性中搜索此类选项并正确定位您的 dll。
如果你想分发你的程序,你需要提供 dll 文件,或者静态编译它(这在 SFML 网站的教程中提到)。
关于c++ - 带有 Eclipse 和 MinGW 的 SFML 出现错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17043919/