首页 > 解决方案 > 将 SFML 与 Visual C++ 2017 集成

问题描述

我尝试将 SFML 与我的 Visual c++ 项目集成,仔细按照 SFML 网站上的程序进行操作,并收到 2 种主要类型的错误。文件 rect.inl 中的第一行是:

T minX = std::min(left, static_cast(left + width));

第一种错误的描述如下:

'(': '::' 右侧的非法标记 c:\libs\c++\sfml-2.5.1-windows-vc15-32-bit\sfml-2.5.1\include\sfml\graphics\rect.inl 81

另一种错误是:

模板 Rect::Rect() : 左 (0), 上 (0), 宽度 (0), 高度(0) { } :

Rect 不是模板 ChessApplication C:\Libs\c++\SFML-2.5.1-windows-vc15-32-bit\SFML-2.5.1\include\SFML\Graphics\Rect.inl 28

我的项目设置是:

Microsoft Visual Studio Community 2017 版本 15.9.9 VisualStudio.15.Release/15.9.9+28307.518 Microsoft .NET Framework 版本 4.7.03056

附加库目录:C:\Libs\c++\SFML-2.5.1-windows-vc15-32-bit\SFML-2.5.1\lib

附加包含目录:C:\Libs\c++\SFML-2.5.1-windows-vc15-32-bit\SFML-2.5.1\include

附加依赖项(调试):sfml-window-d.lib;sfml-graphics-d.lib;sfml-system-d.lib;sfml-audio-d.lib

附加依赖项(发布):sfml-window.lib;sfml-graphics.lib;sfml-system.lib;sfml-audio.lib

我使用动态链接,将 sfml-xxx-2.dll 文件放在与 .sln 项目相同的目录中。

标签: visual-c++sfml

解决方案


我通过从我的类中删除预编译的头文件“stadfx.h”解决了这个问题。


推荐阅读