C++ c++;SFML错误|无背景
这是我的主要任务C++ c++;SFML错误|无背景,c++,c++11,visual-c++,sfml,c++14,C++,C++11,Visual C++,Sfml,C++14,这是我的主要任务 #include <iostream> #include <SFML\Graphics.hpp> #include "FRAMEWORK.hpp" int main() { Framework frwrk; frwrk.run(); std::getchar(); return 0; } 我的问题是我不能设置背景,因为总是有错误 1&
#include <iostream>
#include <SFML\Graphics.hpp>
#include "FRAMEWORK.hpp"
int main()
{
Framework frwrk;
frwrk.run();
std::getchar();
return 0;
}
我的问题是我不能设置背景,因为总是有错误
1>Framework.obj : error LNK2001: unresolved external symbol "public: static class sf::RenderStates const sf::RenderStates::Default" (?Default@RenderStates@sf@@2V12@B)
my background.png位于正确的位置。Im使用SFML 2.3.2和VS 2012无法发现问题。请帮忙。SFML在VS上设置正确。好的,我自己解决了这个问题:请将此解决方案作为您自己问题的答案发布给将来可能有相同问题的人,@Vithoh。
#include "FRAMEWORK.hpp"
Framework::Framework()
{
pRenderWindow = new sf::RenderWindow(sf::VideoMode(800, 600, 32), "GAME");
pRenderWindow->setFramerateLimit(30);
pMainEvent = new sf::Event;
pClock = new sf::Clock;
pSprite = new sf::Sprite;
nRun = true;
pBackground = new sf::Texture;
pBackground->loadFromFile("background.png");
pSprite = new sf::Sprite;
pSprite->setTexture(*pBackground);
}
Framework::~Framework()
{
}
void Framework::run()
{
while (nRun == true)
{
update(getframeTime());
handleEvents();
render();
quit();
}
}
void Framework::update(float frametime)
{
}
void Framework::handleEvents()
{
while (pRenderWindow->pollEvent(*pMainEvent));
{
if (pMainEvent->type == sf::Event::Closed)
{
nRun = false;
}
}
}
void Framework::render()
{
pRenderWindow->clear(sf::Color(77,140,255,255));
pRenderWindow->draw(*pSprite);
pRenderWindow->display();
}
void Framework::quit()
{
if (nRun == false)
{
pRenderWindow->close();
}
}
float Framework::getframeTime()
{
nframeTime = pClock->getElapsedTime().asSeconds();
pClock->restart();
return nframeTime;
}
1>Framework.obj : error LNK2001: unresolved external symbol "public: static class sf::RenderStates const sf::RenderStates::Default" (?Default@RenderStates@sf@@2V12@B)