错误Lnk2001“无法解析的外部符号”-如何调查?

我最近一直在使用此处开发的简单游戏引擎来开发侧滚动游戏: http://gamecodeschool.com/sfml/building-a-simple-game-engine-in-c-plus-plus/

我得到的错误实际上都与此相同:

Window.obj:错误LNK2001:未解析的外部符号“ public:静态类sf :: RenderWindow Window :: window”(?window @ Window @@ 2VRenderWindow @ sf @@ A)

我不想知道解决方案是什么,因为我不会被告知...我想从该错误消息中寻求有关如何查找问题的建议。

注意:我在这里遵循了SFML的配置设置: http://gamecodeschool.com/sfml/building-your-first-sfml-game-project/。我可以确认我的设置完全相同,因此应该没有任何链接问题。

现在,我尝试了什么?

  • 我再次检查了常规库和链接器其他库,以及链接器输入的其他依赖项。
  • 我尝试重命名有问题的类,以防万一它与SFML中的类冲突,尽管我知道不应该这样,因为我只#include了我需要的SFML hpps,而不是整个库。
  • 经过一些搜索,我读到了“使用命名空间sf;”。不一定总是最好的,所以我删除了它,然后在每个需要的地方手动添加了“ sf ::”。

注意:我正在使用Visual Studio 2019和最新的32位SFML。代码本身没有出现任何错误(如代码下方的红线或黄线),它们仅在尝试构建时出现。

我假设问题出在试图合并.h和.cpp文件,但是根据到目前为止我对c ++的了解,我看不到任何错误。

好的,就是一切。

现在,提醒一下:我不想知道问题出在什么地方,所以我没有发布任何代码。我想知道应该采取什么步骤来调试此问题? (如果需要代码,我将发布window类的代码,因为其中不包含任何对游戏本身的设计很重要的信息。它也有相同的错误。)

谢谢你,MJ。

“ C / C ++常规”选项卡 https://i.stack.imgur.com/DAU2c.png 链接器的“常规”选项卡 https://i.stack.imgur.com/fT65b.png 链接器输入选项卡 https://i.stack.imgur.com/FFtu4.png

这是“窗口”的.h文件

'''c++
#pragma once
#include <SFML\Graphics\RenderWindow.hpp>
#include <SFML\System\Vector2.hpp>


class Window{
public:
    //Window();
    //~Window();
    //sf::RenderWindow GetWindow();
    //void SetWindow(sf::RenderWindow window);
    static sf::RenderWindow window;
    static sf::Vector2f resolution;
};
'''

对于cpp来说,实际上是全部注释掉了,因为.h文件中这4个注释掉的东西的功能都将在此处制作。

'

safire 回答:错误Lnk2001“无法解析的外部符号”-如何调查?

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3157963.html

大家都在问