VS2022 SFML库配置教程 及 sfmml-graphics-d-2.dll问题解决
VS2022 SFML库配置教程 及 sfmml-graphics-d-2.dll问题解决
目录
一、SFML是什么
SFML(Simple and Fast Multimedia Library)
SFML 是多媒体库,它为PC的各个组件提供简单的界面,用来简化游戏和多媒体应用程序的开发。 主要由五个模块组成,分别是:系统,窗口,图形,音频和网络。
SFML 是跨平台的,通过 SFML,你的应用程序可以在最常见的操作系统上进行编译和运行:Windows,Linux,macOS以及Android和iOS。
SFML 支持多种语言,具体可以在官网查看支持的语言。
二、下载
进入官网下载页面后会显示如下界面:
因为我用的VS2022,64位,就选择下载Visual C++ 17版本,对照将自己的VS版本进行下载。
下载好后解压,将文件夹放在固定的位置便于后续使用,比如我就会放在D盘下,如下:
三、VS2022配置SFML
1、打开VS2022新建一个C++的空项目(此处演示我就省略了)
2、鼠标右击项目-->点击属性(如果找不到解决方案管理器一栏,按下快捷键CTRL + alt + L就会出现 )
3、进入属性页面后,配置属性的点击VC++一栏,分别配置常规属性的包含目录和库目录。
在包含目录添加上include文件夹绝对路径,在库目录添加库目录的绝对位置即可。
(说明一下:包含目录就是头文件所在目录,平时的#include xxx 即使指向的此目录位置。
库目录就是存放静态库的目录,比如xxx.lib xxxxd.lib等等。)
弄完之后再点击配置属性框内的链接器-->输入,然后在右侧的附加依赖项一栏添加自己需要的库即可。
⭐对于debug模式添加以xxx-d.lib结尾的库文件,如下:
sfml-audio-d.lib
sfml-graphics-d.lib
sfml-system-d.lib
sfml-window-d.lib
sfml-network-d.lib
⭐对于release模式,添加以xxx.lib结尾的库文件,如下:
sfml-audio.lib
sfml-graphics.lib
sfml-system.lib
sfml-window.lib
sfml-network.lib
添加完成后点击确定即可。
右键点击:添加-->新建项,新建一个cpp文件,输入以下内容:
#include <SFML/Graphics.hpp>
int main()
{
sf::RenderWindow window(sf::VideoMode(800, 200), "SFML works!");
sf::RectangleShape shape((sf::Vector2f (800.f, 200.f)));
shape.setFillColor(sf::Color::Red);
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;
}
如果上述配置没问题,输入代码后是没有错误的,如果出现错误查看是不是自己哪一步错了。
四、运行测试及问题解决
随后点击生成,再带点击运行(记住是Debug x64环境下,如果你选择了release版本,记得切换)
此时肯定会报错:由于找不到 sfmml-graphics-d-2.dl,无法继续执行代码。重新安装程序可能会解决此问题。
遇到问题不要慌,出现这种情况一般都是因为缺少动态链接库,只需将动态链接库复制到项目目录下即可,如下:
找到库目录下的bin文件夹,SFML-2.6.1\bin,点击进去:
将上述dll复制到项目里的Debug文件夹下:(以防万一全复制过来)
再次运行代码,就不会报错啦,运行结果如下:
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)