0%

VC++ 项目导入SFML多媒体库

VC++ 项目导入SFML多媒体库

1 下载、解压

1.1 下载

  • 从以下网址下载 SFML 源文件压缩包,
1
https://www.sfml-dev.org/download/sfml/2.5.1/

img

  • 根据开发环境的编译器选取对应的源码压缩包下载

  • 操作系统的位数是根据目标平台的配置选取的。32位版本编译出的程序就可以在x86和amd64平台运行;64位版本编译出的程序只能在amd64平台运行

1.2 解压

  • 将源码压缩包解压到任意文件夹下,

img

2 导入

2.1 拷贝文件

  • 这是一个空项目的目录结构,

img

  • 创建 includelib 目录,

img

  • 将 SFML 头文件放到项目的 include 目录里面,

img

  • 将 SFML 库文件放到 lib 目录里面,

img

  • 将 SFML 动态链接库文件复制到项目根文件夹下,

img

2.2 配置附加包含目录

  • 打开项目属性页,

img

img

  • 修改目标配置和平台,

img

  • 跳转到配置属性 -> C/C++ -> 常规,

img

  • 添加附加包含目录,

img

2.3 配置附加库目录

  • 跳转到配置属性 -> 链接器 -> 常规,

img

  • 添加附加库目录,

img

2.4 配置依赖库文件

  • 跳转到配置属性 -> 链接器 -> 输入,

img

  • 修改目标配置为 Debug,

img

  • 添加附加依赖项,

img

  • 修改目标配置为 Release,

img

  • 添加附加依赖项,

img

3 测试

  • 使用以下代码替换 main.cpp 文件的所有内容,
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#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;
}
  • CRTL + F5 查看效果,

img

如果弹出一个窗口,并且内部有一个绿色的圆,就说明之前的配置没有问题