【问题标题】:SFML with Eclipse and MinGW is giving an error带有 Eclipse 和 MinGW 的 SFML 出现错误
【发布时间】:2013-06-07 06:59:55
【问题描述】:

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

首先我下载了​​ SFML 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++ 主文件中。

但是,当我 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 所在的位置,但是当我运行它时,我得到了这个:


【问题讨论】:

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


    【解决方案1】:

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

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

    【讨论】:

    • @Markus 看起来我们没有。我从来没有遇到过这个问题,所以我真的说不出来。
    • 我将 minGW 更新到最新版本 (4.8.1) 并再次下载了 SFML 2.1 - 现在可以正常工作了!不幸的是,我不能说是什么导致了这个问题
    • @Markus 好消息!也许它与异常模型有关。 minGW 有几个版本取决于此,SFML 也有。显然它必须是一样的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-28
    • 2020-10-08
    • 2013-11-19
    • 2019-10-31
    • 1970-01-01
    相关资源
    最近更新 更多