系统环境
- Windows 10
- Visual Studio 2019
下载安装 SFML的SDK
下载页面:https://www.sfml-dev.org/download/sfml/2.5.1/
这里我选择SFML 2.5.1 的VS2017 64-bit版本
下载完成后解压即可。
创建项目
打开VS2019,创建一个新的C++空项目。
向项目的源文件目录中添加一个main.cpp文件。
路径配置
头文件路径和静态库路径都是全局配置,打开“项目”—>“属性”,“配置”选择“所有配置”。
添加头文件路径
选择“C/C++”—>“常规”—>“附加包含目录”,添加SFML安装路径下的 include
目录。
添加静态库路径
选择“链接器”—>“常规”—>“附加库目录”,添加SFML安装路径下的 lib
目录。
将应用程序链接到SFML静态库
SFML由5个模块(系统,窗口,图形,网络和音频)组成,每个模块都有一个库。
选择“链接器”—>“输入”—>“附加依赖项”。
这部分Release版本和Debug版本要分别配置。
Release版本
左上角“配置”选择“Release”。
添加以下内容。
sfml-graphics.lib
sfml-window.lib
sfml-audio.lib
sfml-network.lib
sfml-system.lib
Debug版本
左上角“配置”选择“Debug”。
添加以下内容,注意和Release版本不一样,每个文件名以“-d”结尾。
sfml-graphics-d.lib
sfml-window-d.lib
sfml-audio-d.lib
sfml-network-d.lib
sfml-system-d.lib
添加动态库
以上配置将导致应用程序链接到SFML的动态库,因此还需要在添加DLL文件。
DLL文件位于SFML安装目录的 bin
目录下,将里面全部的DLL文件复制本项目目录下即可。
运行Demo
官方提供了示例代码,复制过来运行即可。
#include <SFML/Graphics.hpp>
int main()
{
sf::RenderWindow window(sf::VideoMode(200, 200), "SFML works!");
sf::CircleShape shape(100.f);
shape.setFillColor(sf::Color::Green);
while (window.isOpen())
{
sf::Event event;
while (window.pollEvent(event))
{
if (event.type == sf::Event::Closed)
window.close();
}
window.clear();
window.draw(shape);
window.display();
}
return 0;
}
下图即为示例代码的运行效果,到这一步说明已经配置成功了。
项目发布
左上角“配置”选择“Release”。
选择“C/C++”—>“代码生成”—>“运行库”。
修改编译选项,将 多线程/MT
,这样配置会在编译时对VC运行时库进行静态链接,编译出来的可执行文件运行时就不再需要VC的dll。
编译后取出项目Release目录下的exe文件,和其他的资源文件夹(如图片)以及SFML提供的全部DLL文件放在一起,这样exe文件就可以在其他没有装VC运行时的电脑上运行了。
参考链接
基本上跟着官方教程配置下来就可以,没遇到什么其他问题。教程网址:https://www.sfml-dev.org/tutorials/2.5/start-vc.php
下面是B站上的视频教程,更加直观。
点击查看【bilibili】