我正在尝试在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-d
,sfml-window-d
,sfml-audio-d
和sfml-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
所在的位置,但是当我运行它时,我得到了这个:
答案 0 :(得分:0)
dll
应与可执行文件(即SFMLTest.exe)放在同一目录中,或放在系统路径(内存中C:/Windows/System32
)中。但有时候,你的IDE可能执行你的程序并不完全在与编译输出它的目录相同的位置(VS至少这样做)。也许在属性中搜索这种选项并正确找到你的dll。
如果您希望分发您的程序,您需要提供它的dll,或者静态编译它(这在SFML网站的教程中提到)。