我正在遵循sfml版本2和代码解压缩的入门指南,并完成了本教程要求我做的所有事情:
但是示例代码不起作用。我收到sfml图形-d-2.dll丢失的错误消息。编译工作,窗口打开,但仍然是黑色的,这个错误弹出。下面是教程http://www.sfml-dev.org/tutorials/2.0/start-cb.php的链接
由于我是c++和代码库的新手,我希望得到一个详细的答案。
更新:我已将SFML复制到可执行文件。现在我的程序崩溃了。我也不知道原因。它与本教程中使用的代码完全相同。
更新:我已经将链接库更改为-s版本,并添加了#DefineSFML_STATIC。程序仍然生成,然后崩溃。
发布于 2012-12-27 17:12:43
如果您使用的是最新的代码::块版本,其中包括GCC 4.7.1,那么您必须自己重新编译SFML (或使用我的夜建),因为所提供的代码::块版本仅适用于GCC版本< 4.7.x。
发布于 2012-12-27 15:32:29
您似乎没有设置要在项目中构建的静态库,而是使用与SFML的动态链接。几个月前,我在建立SFML时遇到了类似的问题,回想一下这句话:
此处显示的设置将导致应用程序链接到SFML的动态版本,该版本需要DLL文件。如果您想要摆脱这些DLL并将SFML直接集成到您的可执行文件中,则必须链接到静态版本。静态SFML库有"-s“后缀:"sfml-xxx-s-d”表示调试,"sfml-xxx-s“作为发行版。在这种情况下,您还需要在项目的预处理选项中定义SFML_STATIC宏。
确保在项目中包含静态文件。
sfml-graphics-s-d //for debug
sfml-window-s-d //d for debug!
sfml-system-s-d为了发布,省略d(sfml-graphics)
接下来转到编译器设置, -> #定义并键入
SFML_STATIC发布于 2019-01-31 14:40:43
关于VisualStudio2017和SFML-2.5.1,我建议使用这教程。设置SFML类似于设置SDL、GLFW、freeGLUT和GLEW,有两个特点:.lib文件为29,.dll为11。
做得好。致以问候。
https://stackoverflow.com/questions/14056999
复制相似问题