【问题标题】:SFML unresolved external symbolSFML 未解析的外部符号
【发布时间】:2021-12-04 11:40:58
【问题描述】:

请看以下截图:

我已经从他们的 Visual Studio 官方文档(2022 预览版)中遵循了所有这些...但我仍然收到这些错误:

请注意,我正在使用他们的样板 hello world 代码来测试所有这些。我知道我做错了什么,但我终其一生都无法弄清楚。

Error   LNK1120 19 unresolved externals SFMLTest    C:\Users\Jorda\source\repos\SFMLTest\Release\SFMLTest.exe   1   
Error   LNK2001 unresolved external symbol __imp___CrtDbgReport SFMLTest    C:\Users\Jorda\source\repos\SFMLTest\SFMLTest\Main.obj  1   
Error   LNK2001 unresolved external symbol __imp___invalid_parameter    SFMLTest    C:\Users\Jorda\source\repos\SFMLTest\SFMLTest\Main.obj  1   
Error   LNK2001 unresolved external symbol __imp___calloc_dbg   SFMLTest    C:\Users\Jorda\source\repos\SFMLTest\SFMLTest\Main.obj  1   
Error   LNK2001 unresolved external symbol "public: static class sf::RenderStates const sf::RenderStates::Default" (?Default@RenderStates@sf@@2V12@B)   SFMLTest    C:\Users\Jorda\source\repos\SFMLTest\SFMLTest\Main.obj  1   
Error   LNK2001 unresolved external symbol "public: __thiscall sf::CircleShape::CircleShape(float,unsigned int)" (??0CircleShape@sf@@QAE@MI@Z)  SFMLTest    C:\Users\Jorda\source\repos\SFMLTest\SFMLTest\Main.obj  1   
Error   LNK2001 unresolved external symbol "public: virtual __thiscall sf::RenderWindow::~RenderWindow(void)" (??1RenderWindow@sf@@UAE@XZ)  SFMLTest    C:\Users\Jorda\source\repos\SFMLTest\SFMLTest\Main.obj  1   
Error   LNK2001 unresolved external symbol "public: __thiscall sf::RenderWindow::RenderWindow(class sf::VideoMode,class sf::String const &,unsigned int,struct sf::ContextSettings const &)" (??0RenderWindow@sf@@QAE@VVideoMode@1@ABVString@1@IABUContextSettings@1@@Z)    SFMLTest    C:\Users\Jorda\source\repos\SFMLTest\SFMLTest\Main.obj  1   
Error   LNK2001 unresolved external symbol "public: __thiscall sf::Color::Color(unsigned char,unsigned char,unsigned char,unsigned char)" (??0Color@sf@@QAE@EEEE@Z) SFMLTest    C:\Users\Jorda\source\repos\SFMLTest\SFMLTest\Main.obj  1   
Error   LNK2001 unresolved external symbol "public: void __thiscall sf::Window::display(void)" (?display@Window@sf@@QAEXXZ) SFMLTest    C:\Users\Jorda\source\repos\SFMLTest\SFMLTest\Main.obj  1   
Error   LNK2001 unresolved external symbol "public: bool __thiscall sf::Window::pollEvent(class sf::Event &)" (?pollEvent@Window@sf@@QAE_NAAVEvent@2@@Z)    SFMLTest    C:\Users\Jorda\source\repos\SFMLTest\SFMLTest\Main.obj  1   
Error   LNK2001 unresolved external symbol "public: bool __thiscall sf::Window::isOpen(void)const " (?isOpen@Window@sf@@QBE_NXZ)    SFMLTest    C:\Users\Jorda\source\repos\SFMLTest\SFMLTest\Main.obj  1   
Error   LNK2001 unresolved external symbol "public: void __thiscall sf::Window::close(void)" (?close@Window@sf@@QAEXXZ) SFMLTest    C:\Users\Jorda\source\repos\SFMLTest\SFMLTest\Main.obj  1   
Error   LNK2001 unresolved external symbol "public: static class sf::Color const sf::Color::Green" (?Green@Color@sf@@2V12@B)    SFMLTest    C:\Users\Jorda\source\repos\SFMLTest\SFMLTest\Main.obj  1   
Error   LNK2001 unresolved external symbol "public: void __thiscall sf::RenderTarget::draw(class sf::Drawable const &,class sf::RenderStates const &)" (?draw@RenderTarget@sf@@QAEXABVDrawable@2@ABVRenderStates@2@@Z)  SFMLTest    C:\Users\Jorda\source\repos\SFMLTest\SFMLTest\Main.obj  1   
Error   LNK2001 unresolved external symbol "public: void __thiscall sf::RenderTarget::clear(class sf::Color const &)" (?clear@RenderTarget@sf@@QAEXABVColor@2@@Z)   SFMLTest    C:\Users\Jorda\source\repos\SFMLTest\SFMLTest\Main.obj  1   
Error   LNK2001 unresolved external symbol "public: void __thiscall sf::Shape::setFillColor(class sf::Color const &)" (?setFillColor@Shape@sf@@QAEXABVColor@2@@Z)   SFMLTest    C:\Users\Jorda\source\repos\SFMLTest\SFMLTest\Main.obj  1   
Error   LNK2001 unresolved external symbol "public: virtual __thiscall sf::Shape::~Shape(void)" (??1Shape@sf@@UAE@XZ)   SFMLTest    C:\Users\Jorda\source\repos\SFMLTest\SFMLTest\Main.obj  1   
Error   LNK2001 unresolved external symbol "public: __thiscall sf::String::String(char const *,class std::locale const &)" (??0String@sf@@QAE@PBDABVlocale@std@@@Z) SFMLTest    C:\Users\Jorda\source\repos\SFMLTest\SFMLTest\Main.obj  1   
Error   LNK2001 unresolved external symbol "public: __thiscall sf::VideoMode::VideoMode(unsigned int,unsigned int,unsigned int)" (??0VideoMode@sf@@QAE@III@Z)   SFMLTest    C:\Users\Jorda\source\repos\SFMLTest\SFMLTest\Main.obj  1   

【问题讨论】:

  • 在一些图像中,您将(部分)构建输出作为文本。请将该文本完整完整地复制粘贴到您的问题中。
  • 嗨@Someprogrammerdude,我现在已经完成了
  • 请不要在标题中添加“C++”——我们有为此目的的标签。请不要在标题中添加“SOLVED”——这是公认的答案。

标签: c++ visual-studio linker-errors sfml


【解决方案1】:

好的,所以基本上我通过观察这个人重新做了所有事情: https://www.youtube.com/watch?v=lFzpkvrscs4

与我最初所做的和观看该教程的不同之处:

  1. 我添加链接器输入的顺序
  2. 我没有使用 64 位 (facepalm)

【讨论】:

    【解决方案2】:

    我在使用 Visual Studio 2022 和 SFML 时遇到的问题是,在发布本文时,可从 www.sfml-dev.org 下载的 SFML 预构建库是 32 位库。 VS 2022 的默认目标平台似乎是 64 位。所以我将目标系统从“x64”更改为“Win32”,然后我就可以让它工作了。

    请记住,在更改目标平台后,我确实必须再次更新其他包含和库目录的项目设置。


    没关系,我在您的屏幕截图中看到您已经针对 Win32。也许它会帮助其他人记住这一点。

    【讨论】:

      猜你喜欢
      • 2012-04-05
      • 1970-01-01
      • 2011-02-09
      • 2015-06-27
      • 2020-04-10
      • 2018-05-22
      相关资源
      最近更新 更多