系统环境

  • Windows 10
  • Visual Studio 2019

下载安装 SFML的SDK

下载页面:https://www.sfml-dev.org/download/sfml/2.5.1/
这里我选择SFML 2.5.1 的VS2017 64-bit版本

图片.png
下载完成后解压即可。

创建项目

打开VS2019,创建一个新的C++空项目。
向项目的源文件目录中添加一个main.cpp文件。

路径配置

头文件路径和静态库路径都是全局配置,打开“项目”—>“属性”,“配置”选择“所有配置”。

添加头文件路径

选择“C/C++”—>“常规”—>“附加包含目录”,添加SFML安装路径下的 include 目录。
图片.png
图片.png

添加静态库路径

选择“链接器”—>“常规”—>“附加库目录”,添加SFML安装路径下的 lib 目录。
图片.png
图片.png

将应用程序链接到SFML静态库

SFML由5个模块(系统,窗口,图形,网络和音频)组成,每个模块都有一个库。
选择“链接器”—>“输入”—>“附加依赖项”。
这部分Release版本和Debug版本要分别配置。

Release版本

左上角“配置”选择“Release”。

图片.png
添加以下内容。

  1. sfml-graphics.lib
  2. sfml-window.lib
  3. sfml-audio.lib
  4. sfml-network.lib
  5. sfml-system.lib

Debug版本

左上角“配置”选择“Debug”。
图片.png
添加以下内容,注意和Release版本不一样,每个文件名以“-d”结尾。

  1. sfml-graphics-d.lib
  2. sfml-window-d.lib
  3. sfml-audio-d.lib
  4. sfml-network-d.lib
  5. sfml-system-d.lib

添加动态库

以上配置将导致应用程序链接到SFML的动态库,因此还需要在添加DLL文件。
DLL文件位于SFML安装目录的 bin 目录下,将里面全部的DLL文件复制本项目目录下即可。
图片.png

运行Demo

官方提供了示例代码,复制过来运行即可。

  1. #include <SFML/Graphics.hpp>
  2. int main()
  3. {
  4. sf::RenderWindow window(sf::VideoMode(200, 200), "SFML works!");
  5. sf::CircleShape shape(100.f);
  6. shape.setFillColor(sf::Color::Green);
  7. while (window.isOpen())
  8. {
  9. sf::Event event;
  10. while (window.pollEvent(event))
  11. {
  12. if (event.type == sf::Event::Closed)
  13. window.close();
  14. }
  15. window.clear();
  16. window.draw(shape);
  17. window.display();
  18. }
  19. return 0;
  20. }

下图即为示例代码的运行效果,到这一步说明已经配置成功了。
图片.png

项目发布

左上角“配置”选择“Release”。
选择“C/C++”—>“代码生成”—>“运行库”。
修改编译选项,将 多线程/MT ,这样配置会在编译时对VC运行时库进行静态链接,编译出来的可执行文件运行时就不再需要VC的dll。
图片.png

编译后取出项目Release目录下的exe文件,和其他的资源文件夹(如图片)以及SFML提供的全部DLL文件放在一起,这样exe文件就可以在其他没有装VC运行时的电脑上运行了。
图片.png

参考链接

基本上跟着官方教程配置下来就可以,没遇到什么其他问题。教程网址:https://www.sfml-dev.org/tutorials/2.5/start-vc.php

下面是B站上的视频教程,更加直观。
点击查看【bilibili】