gpt4 book ai didi

c++ - 错误 LNK2001 : unresolved external symbol "public: static class sf::RenderStates const sf::RenderStates::Default"

转载 作者:太空宇宙 更新时间:2023-11-04 11:23:09 33 4
gpt4 key购买 nike

代码如下:

引擎.h

#include <SFML/Audio.hpp>
#include <SFML/Config.hpp>
#include <SFML/Graphics.hpp>
#include <SFML/Network.hpp>
#include <SFML/OpenGL.hpp>
#include <SFML/System.hpp>
#include <SFML/Window.hpp>

class Engine
{
public:
Engine(sf::RenderWindow & wd);
void run(sf::RenderWindow & wd);

sf::Sprite player;
sf::Texture playerTexture;

};

引擎.cpp

#include "Engine.h"

Engine::Engine(sf::RenderWindow & wd) : player(), playerTexture()
{

}

void Engine::run(sf::RenderWindow & wd)
{
if (!playerTexture.loadFromFile("image/char.png")) {}
player.setTexture(playerTexture);

while (wd.isOpen())
{
sf::Event event;
while (wd.pollEvent(event))
{
if (event.type == sf::Event::Closed)
wd.close();
}

wd.clear();
wd.draw(player);
wd.display();
}
}

主要.cpp

#include <SFML/Audio.hpp>
#include <SFML/Config.hpp>
#include <SFML/Graphics.hpp>
#include <SFML/Network.hpp>
#include <SFML/OpenGL.hpp>
#include <SFML/System.hpp>
#include <SFML/Window.hpp>

#include "Engine.h"

int main()
{
sf::RenderWindow * wd = new sf::RenderWindow(sf::VideoMode(800, 600), "Lumia");
Engine * eg = new Engine(*wd);
eg->run(*wd);

return EXIT_SUCCESS;
}

如果我删除 wd.draw(player);从Engine.cpp中,并没有出现这个错误,好像什么都画不出来,我是不是定义了一个默认的构造函数而不调用它?还是我以错误的方式传递参数?请解释为什么会出现这个错误,并给我一个合理的解决方案,感谢进一步的解答。

OBS:SFML 2.1、Microsoft Visual Studio 2013、i7、8gb 内存、geforce gtx850M 4gb 视频内存、Windows 8.1。

最佳答案

你应该将 *.lib 文件的文件名添加到 vs 的链接器中。

步骤:

  1. 打开您的项目属性页。(在 vs 中按 Alt+F7)。
  2. 展开“配置属性”。
  3. 展开“链接器”。
  4. 您将在“链接器”下找到“输入”项,然后单击“输入”。
  5. 在右侧,您会找到“Additional Dependencies”项。
  6. 在此处添加您的 lib 文件名。(例如 lib1.lib;lib2.lib...,用分号分隔库)。

关于c++ - 错误 LNK2001 : unresolved external symbol "public: static class sf::RenderStates const sf::RenderStates::Default",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27594261/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com