一段时间以来,我一直在尝试将SFML库用于C ++。 但是,每当我尝试运行程序时,都会出现大量围绕未定义符号的构建错误。 我是从Visual Studio构建的,已将include目录,其他库以及bin中的所有DLL添加到了源目录和构建目录中。 尽管如此,我仍然无法构建程序。

我的代码:

#include <SFML\Graphics.hpp>

int main() {
    sf::RenderWindow window(sf::VideoMode(640, 380), "Test Window");

    while (window.isOpen()) {
        // events

        window.clear();

        // drawing
    }
    system("pause");
}

错误: 在此处输入图片说明 包含目录:SFML-2.4.2 / include

库目录:SFML-2.4.2 / lib

链接器输入:

sfml-main-d.lib
sfml-graphics-d.lib
sfml-window-d.lib
sfml-system-d.lib
sfml-audio-d.lib
sfml-network-d.lib

===============>>#1 票数:0

我知道这已经一年半了,但是我遇到了同样的错误,并且已经解决了。 以下Pastebin文件是我的配置文件和任务文件(在我的情况下,与Visual Studio Code版本1.32.3配合使用,请阅读底部以了解需要更改的内容)日期:2019-03-14电子版:3.1.6 Chrome: 66.0.3359.181 Node.js:10.2.0 V8:6.6.345.32 Os:Windows_NT x64 10.0.17134

c_cpp_properties.json: https://pastebin.com/3gw8J4d2``
task.json: https://pastebin.com/s1rjswWG``

重要说明:更改以下内容:(如果在标准路径上安装了MinGW)

  • c_cpp_properties.json:必须将K:/libs/SFML-2.5.1/include更改为SFML的安装路径,请务必在浏览路径中也将其更改!!!
  • task.json:

  • “ -IK:/libs/SFML-2.5.1/”,将K:/libs/SFML-2.5.1/include更改为SFML的安装路径

  • “ -LK:/libs/SFML-2.5.1/lib”,再次将K:/libs/SFML-2.5.1/lib更改为
    您的SFML安装路径

我犯了一些错误:

  • 我没有删除“ -L K: /libs/SFML-2.5.1/lib”中的K:
  • 我在task.json顶部的命令中没有g ++
  • 我没有使用正确的编译/链接路径(在放弃之前搜索您在浏览器中使用的所有路径)

一些有用的链接:

希望我能为您提供帮助如果您有任何疑问,可以通过Reddit u / Spagetti_Lord(最活跃)向我发送消息

  ask by ComedicChimera translate from so

未解决问题?本站智能推荐:

2回复

链接器错误与SFML

在运行Ubuntu,SFML 2.2和g ++ 4.8.2时,在示例SFML代码上运行g++ -lsfml-window -lsfml-graphics -lsfml-system main.cpp时出现一系列错误。 我尝试从包管理器( libsfml-dev )重新安装SFML,但没有任何作
1回复

带有mingw32的SFML2静态链接错误:未定义的引用

我在64位Windows 7,MinGW 4.7.1上使用Code :: Blocks。 我正在尝试使SFML 2.1在代码块中与MingW一起使用,但这会引起问题。 当我尝试编译时,出现以下错误: 对_imp___ZN2sf6StringC1EPKcRKSt6locale
2回复

OS X上的链接器错误“ ld:找不到SFML框架”

我试图编译我的shell文件,但显示 ld:找不到框架SFML铛:错误:链接器命令失败,退出代码为1(使用-v查看调用) 实际上,我在文件和系统中都安装了所有SFML。 我不知道它有什么问题,因为它以前可以被编译。 我将系统更新为OSX EL Capitan。 是这个原因吗
1回复

链接SFML时出错。 LNK2001

我正在使用SFML创建一个项目。 到目前为止一切正常。 我创建了一个名为BufferHelper.cpp的类,然后显示错误。 我正在使用:Visual Studio Professional 2013 SFML 2.1 Windows 8.1 我已添加所有库 用于发布的“
1回复

找不到-lfreetype(SFML静态链接)

我正在尝试静态链接SFML,这需要链接所有其他依赖项。 在SFML教程页面上,它声明所有依赖项都随它一起提供,但是我确实无法找到任何链接它们的方法。 其他依赖项似乎也可以正常工作(或者它们还没有产生链接器错误)。 我还尝试过手动下载freetype并进行构建,但这使我陷入了一大堆文件,而且
1回复

带有THOR SFML扩展名的未解析外部符号

我想在Visual Studio C ++项目中使用Thor库 ,并且按照THOR网站上的说明进行操作。 我想我将正确的目录链接到了我的项目,就像将SFML链接到我的项目一样,当我包含THOR库中的文件时,在我的项目中没有显示任何错误。 但是,我无法运行我的项目,因为有几个错误提示:
1回复

使用g ++在64位Win7上链接SFML-2.2

我已经使用下面的命令编译了程序,并且没有错误。 然后,我尝试使用命令将其链接: 这些是从以上命令返回的错误: 错误继续完全相同,但“搜索-lsfml-graphics时跳过“不兼容的C:\\ SFML-2.2 \\ lib \\ sfml-graphics.lib”,与-
1回复

链接到SFML 2会抛出对sf :: Window构造函数的未定义引用

我只想在我的新计算机上移动我的程序源并安装Codeblocks 12.11并按照SFMLCoder的最新指示自行编译SFML 2。 一切都很好。 当我尝试编译时: 我尝试了静态(在Buildoptions中定义了C :: B中的SFML_STATIC),动态和两个调试库。 但总是在
1回复

C ++ Visual Studio 2012使Box2D和SFML一起工作

基本上,我想让SFML和Box2D在VS2012下一起工作。 我让他们两个都独立工作,但是我不能让他们一起工作。 如果我尝试同时运行它们,我会得到很多: 如果我将属性中的RuntimeLibrary值从MDd更改为MTd,则会收到很多错误,例如: 一堆这些以及两个警告:
1回复

未定义对(SFML)的引用

我正在尝试将SFML与CMake链接,但是make存在一些问题: 还有像这样的错误。 首先,我通过以下命令安装了SFML: 然后按照本教程进行: https://github.com/SFML/SFML/wiki/Tutorial:-Build-your-SFML-p