解决这个问题真的是花费了我好长好长好长时间
首先是SFML的版本安装,我用的编译器是Visual Studio 2022,下载最新版本的SFML也没什么问题,但关键是这个(下图)
这两个版本的区别是一个32位一个64位
我也是无语的今天才知道电脑如果是64位就下64位版本的,我一开始下载的是32位版本的所以一直报错
我真是无语了呀啊,浪费了一个下午的时间搞这个玩意
那么我们怎么查看自己电脑是几位的呢?
右键此电脑选择属性
红线下划的就是我们的电脑操作系统
然后根据我们的操作系统来选择下载几位的SFML版本
官网下很慢,差不多要一个小时
下载完以后解压
然后我们就可以开始在VS中配置路径了
首先配置include
先选中我们的项目右键它选择属性
我们在【C/C++】选择【常规】将【附加包含目录】编辑为SFML中include所在文件夹下的目录
这个的作用就是让你的编译器能够知道当你的代码中有#include<SFML/****>的时候去哪里找
然后我们选择属性界面下的【链接器】选择【常规】,在【附加库目录】中添加我们的SFML文件中的lib所在路径
接着我们在【链接器】选择【输入】,然后左上方的【配置】选择Debug,在【附加依赖项】添加以下代码
sfml-audio-d.lib
sfml-graphics-d.lib
sfml-system-d.lib
sfml-window-d.lib
sfml-network-d.lib
在同条件下,我们将【配置】改为Release,在【附加依赖项】中添加以下代码
sfml-audio.lib
sfml-graphics.lib
sfml-system.lib
sfml-window.lib
sfml-network.lib
然后我们在VS中的工作就差不多完成了,不过还没完,还需要在电脑上配置路径
保险起见我建议大家按照以下操作完成
先打开SFML文件中的bin目录,把里面的文件全部复制然后粘贴到我们需要配置的VS项目中
如果找不到VS项目可以右键项目选择【在文件资源管理器中打开文件夹】
然后我们去电脑上配置环境
首先在搜索栏中找到这个
然后点击环境变量
在用户变量那里新建用户变量,变量值是你include所在路径,不要傻乎乎的把我的路径敲进去
再新建一个变量,是lib的路径
然后我们可以用官网的代码测试一下我们的环境是否已经配置好了,我直接复制到下面了
#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;
}
如果出现一个绿色球球那么就代表我们成功了捏 ^ ^
标签:课设,window,VS,SFML,libsfml,include,sf From: https://www.cnblogs.com/nashacjj/p/17501369.html