在VS2022配置SFML与问题

本文主要介绍在VS2022上配置SFML的详细过程。包括VS2022的下载安装,选择使用C++的桌面开发;SFML的下载解压,需保证全英路径。还阐述了两种配置SFML的方法,即静态配置和动态链接配置,并分享了配置过程中遇到的问题及解决办法。

在VS2022配置SFML与问题

我在前一段时间里根据某老师的视频成功在VS2022上配置了SFML,但是后面加载声音库的时候,出现了无法编译、找不到文件、无法启动等等问题我也不知道为什么,所以把所有东西都记录下来,以及我的解决办法

下载VS2022安装

这是官网https://www.microsoft.com/zh-cn
然后点击右上角所有microsoft或者Visual Studio

在这里插入图片描述
https://visualstudio.microsoft.com/zh-hans/
选择Community就好了,应该是免费的,别的版本我就不知道了
在这里插入图片描述
这是一个下载器,很快就会下好了,双击打开后选择继续会自动下载安装
在这里插入图片描述
然后是让你选择安装内容,我们只要选择【使用C++的桌面开发】就好(如果有别的需求安装也无所谓),说实话,很占地方(光这一个就不到9个G),右侧的安装详细信息不要尽量更改,不然后续有什么问题还得想办法解决
在这里插入图片描述
右下角选择安装,可能需要很长时间(看网速和机器配置),安装好之后选择启动,启动窗口会提示登录微软账户,没有特殊需求的不登陆也无所谓,我选择暂时跳过
在这里插入图片描述
开发设置选常规,颜色看自己喜好,黑色护眼,白色鲜明
在这里插入图片描述
点击启动后稍等一段时间,选择创建新项目
在这里插入图片描述
在这里插入图片描述
选择空项目或者控制台应用都可以,差不多
在这里插入图片描述
项目命名和改位置,尽量不要用中文吧,好多C++软件都对中文路径或名称不友好,不知道vs怎么样,勾选【将解决方案和项目放在同一目录】,点击创建
在这里插入图片描述
在右侧解决方案的源文件右键,添加,新建项,起名
在这里插入图片描述
简单写个代码测试
在这里插入图片描述
在这里插入图片描述

#include <iostream>

using namespace std;

int main() {
	cout << "hello world" << endl;

	return 0;
}

点击本地Windows调试器运行

下载SFML解压

官网https://www.sfml-dev.org/
在这里插入图片描述
下载地址https://www.sfml-dev.org/download.php
在这里插入图片描述
找一个合适版本
在这里插入图片描述
找个地方解压,尽量保证全英路径且方便打开,一会要用
在这里插入图片描述

vs2022配置SFML

其实网上已经有很多文章,但是我要说的是,多少都有问题啊,不是库不够就是配置完有问题,我以身试法,再发一次
官网英版教程在这里https://www.sfml-dev.org/tutorials/2.6/start-vc.php

第一种 静态配置

这个配置也是我找到的,不需要每次往项目里拷贝文件,不调用声音就没事,右键项目名称,属性
在这里插入图片描述
注意是项目名称,不是解决方案
所有配置
配置属性->调试->环境=>PATH=你的SFML解压路径\SFML\SFML-2.6.0\bin;%PATH%
比如我的路径是PATH=E:\study\SFML-2.6.0\bin;%PATH%
直接粘贴就好了,回车,点应用
在这里插入图片描述

所有配置
配置属性->c/c+±>常规->附加包含目录=>你的SFML解压路径\SFML-2.6.0\include
应用
在这里插入图片描述
所有配置
配置属性->c/c+±>预处理器->预处理定义=>SFML_STATIC
应用
在这里插入图片描述

在这里插入图片描述
所有配置
配置属性->链接器->常规->附加库目录=>你的SFML解压路径\SFML-2.6.0\lib
应用
在这里插入图片描述
Debug
配置属性->链接器->输入->附加依赖项=>

sfml-graphics-s-d.lib
sfml-window-s-d.lib
sfml-system-s-d.lib
sfml-audio-s-d.lib
sfml-main-d.lib
opengl32.lib
freetype.lib
winmm.lib
gdi32.lib

应用
在这里插入图片描述
在这里插入图片描述
Release
配置属性->链接器->输入->附加依赖项=>

sfml-graphics-s.lib
sfml-window-s.lib
sfml-system-s.lib
sfml-audio-s.lib
sfml-main.lib
opengl32.lib
freetype.lib
winmm.lib
gdi32.lib

应用
在这里插入图片描述
在这里插入图片描述

右键头文件,添加现有项,把include/SFML文件夹下所有文件加载进来
在这里插入图片描述
在这里插入图片描述在这里插入图片描述

右键源文件,添加现有项,把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;
}

在这里插入图片描述
右边有一堆警告,我也不知道是啥,但是再次运行
在这里插入图片描述
方法二(方法一已解决,现阶段不推荐方法二)

第二种 动态链接配置

需要拷贝文件

所有配置
配置属性->调试->环境=>PATH=你的SFML解压路径\SFML-2.6.0\bin
比如我的路径是E:\study\SFML-2.6.0\bin
直接粘贴就好了,回车,点应用
在这里插入图片描述

所有配置
配置属性->c/c+±>常规->附加包含目录=>你的SFML解压路径\SFML-2.6.0\include
应用
在这里插入图片描述
所有配置
配置属性->链接器->常规->附加库目录=>你的SFML解压路径\SFML-2.6.0\lib
应用
在这里插入图片描述
Debug
配置属性->链接器->输入->附加依赖项=>

sfml-graphics-d.lib
sfml-window-d.lib
sfml-system-d.lib
sfml-audio-d.lib
sfml-main-d.lib
opengl32.lib
freetype.lib
winmm.lib
gdi32.lib

应用
在这里插入图片描述
在这里插入图片描述

Release
配置属性->链接器->输入->附加依赖项=>

sfml-graphics.lib
sfml-window.lib
sfml-system.lib
sfml-audio.lib
sfml-main.lib
opengl32.lib
freetype.lib
winmm.lib
gdi32.lib

应用
在这里插入图片描述
在这里插入图片描述

最后点确定,区别就是他没有SFML_STATIC,文件格式也写得不太一样
输入代码

#include <SFML/Graphics.hpp>
#include <SFML/Audio.hpp>
int main()
{
    sf::RenderWindow window(sf::VideoMode(200, 200), "SFML works!");
    sf::CircleShape shape(100.f);
    shape.setFillColor(sf::Color::Green);
    sf::SoundBuffer buffer;
    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;
}

运行,这时候会提示找不到文件,同时项目里也会生成一个x64/debug文件夹
在这里插入图片描述

在这里插入图片描述
打开项目路径的方法是右键项目名,选择在文件资源管理器中打开文件夹

在这里插入图片描述

找到你SFML的bin文件夹,拷贝所有文件
在这里插入图片描述
放到debug里
在这里插入图片描述
再次运行项目
在这里插入图片描述
好了,而且右边也没有报错警告,但是麻烦的是每次新项目都要拷贝

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值