首页
学习
活动
专区
圈层
工具
发布

设置sfml
EN

Stack Overflow用户
提问于 2012-12-27 15:23:05
回答 3查看 5.4K关注 0票数 1

我正在遵循sfml版本2和代码解压缩的入门指南,并完成了本教程要求我做的所有事情:

  • 下载并解压缩sdk
  • 将路径添加到sfml标题和库中。
  • 链接库图形、窗口和系统。

但是示例代码不起作用。我收到sfml图形-d-2.dll丢失的错误消息。编译工作,窗口打开,但仍然是黑色的,这个错误弹出。下面是教程http://www.sfml-dev.org/tutorials/2.0/start-cb.php的链接

由于我是c++和代码库的新手,我希望得到一个详细的答案。

更新:我已将SFML复制到可执行文件。现在我的程序崩溃了。我也不知道原因。它与本教程中使用的代码完全相同。

更新:我已经将链接库更改为-s版本,并添加了#DefineSFML_STATIC。程序仍然生成,然后崩溃。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-12-27 17:12:43

如果您使用的是最新的代码::块版本,其中包括GCC 4.7.1,那么您必须自己重新编译SFML (或使用我的夜建),因为所提供的代码::块版本仅适用于GCC版本< 4.7.x。

票数 2
EN

Stack Overflow用户

发布于 2012-12-27 15:32:29

您似乎没有设置要在项目中构建的静态库,而是使用与SFML的动态链接。几个月前,我在建立SFML时遇到了类似的问题,回想一下这句话:

此处显示的设置将导致应用程序链接到SFML的动态版本,该版本需要DLL文件。如果您想要摆脱这些DLL并将SFML直接集成到您的可执行文件中,则必须链接到静态版本。静态SFML库有"-s“后缀:"sfml-xxx-s-d”表示调试,"sfml-xxx-s“作为发行版。在这种情况下,您还需要在项目的预处理选项中定义SFML_STATIC宏。

确保在项目中包含静态文件。

代码语言:javascript
复制
sfml-graphics-s-d //for debug
sfml-window-s-d   //d for debug!
sfml-system-s-d

为了发布,省略d(sfml-graphics)

接下来转到编译器设置, -> #定义并键入

代码语言:javascript
复制
SFML_STATIC
票数 2
EN

Stack Overflow用户

发布于 2019-01-31 14:40:43

关于VisualStudio2017和SFML-2.5.1,我建议使用教程。设置SFML类似于设置SDL、GLFW、freeGLUT和GLEW,有两个特点:.lib文件为29,.dll为11。

  1. 上传SFML并选择第一个“下载”。复制下载的文件夹并粘贴到您在C:中创建的文件夹中。
  2. 创建空项目。
  3. 用C配置“附加包含目录”:.\SFML-2.5.1\ Include。
  4. 用C配置“附加库目录”:.\SFML-2.5.1\lib。
  5. 在“附加依赖项”窗口中复制和粘贴:flac.lib;freetype.lib;ogg.lib;openal32.lib;sfml-audo.lib;sfml-音频-d.lib;sfml-音频-s.lib;sfml-音频-s.lib;sfml-graphics.lib;sfml-Graph-d.lib;sfml-Graphs-s.lib;sfml-Graphs-d.lib;sfml-main.lib;sfml-network.lib;sfml-s-d.lib;sfml-system-s-d.lib;sfml-window.lib;sfml-window-d.lib;sfml-window s.lib;sfml-window-s-d.lib;vorbis.lib;vorbisenc.lib;vorbisfile.lib
  6. 导航到C:>.> SFML2.5.1 > bin。复制所有11个dll文件并粘贴到项目文件夹中。

做得好。致以问候。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14056999

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档