c++ - 带有 Eclipse 和 MinGW 的 SFML 出现错误

标签 c++ eclipse mingw eclipse-cdt sfml

我正在尝试将 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-dsfml-window-dsfml- audio-dsfml-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 所在的位置,但是当我运行它时,我得到这个:

SFMLTest.exe has stopped working
Close Program

最佳答案

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

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

关于c++ - 带有 Eclipse 和 MinGW 的 SFML 出现错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17043919/

相关文章:

eclipse - 将现有文件夹添加到 Eclipse 项目 (STS)

qt - 将静态 boost_filesystem 库与 Qt Creator 链接时出错

c++ - 将 AMD OpenCL 与 mingw 结合使用

c++ - 在 g++ 下获取 stringstream >> my_double 以给出无限值或 NaN 的方法?

c++ - C++调用抽象基类的构造函数

c++ - 保存json文件后如何返回文件路径?

JavaScript : Jump to method definition using eclipse

java - 堆栈跟踪中的数字是什么意思?

c++ - 奇怪的运行时错误,似乎与微软有关

c++ - 如何将我的类模板传递给函数? (C++)