Я использую CodeBlocks 16.01 и SFML GCC 4.9.2 TDM (SJLJ) - 32-разрядный в Windows 7
Только loadFromFile не работает, и я понятия не имею, что делать.
Я пытался переустановить CodeBlocks, пробовал другие версии sfml, но ничего не получалось. Я новичок в SFML, и это действительно расстраивает.
#include <iostream>
#include<string>
#include <SFML/Graphics.hpp>
using namespace sf;
using namespace std;
int changeX = 0;
int changeY = 0;
int rot=0;
int main()
{
bool fscreen;
fscreen=false;
sf::Texture tex;
Sprite sprite;
RenderWindow window(VideoMode(640, 480,16), "SFML works!", Style::Default);
int direction=1,shiftX=10;
while(window.isOpen())
{
Event event;
while(window.pollEvent(event))
{
switch(event.type)
{
case Event::Closed:
window.close();
break;
case Event::KeyPressed:
if(event.key.code == Keyboard::Escape)
window.close();
if(event.key.code == Keyboard::F12)
{
fscreen = !fscreen;
window.close();
window.create(VideoMode(1920,1080,16), "SFML Test", (fscreen ? Style::Fullscreen : Style::Resize));
}
if (event.key.code==Keyboard::A)
{
changeX = -5;
rot = -5;
}
else if (event.key.code==Keyboard::D)
{
changeX = 5;
rot =5;
}
else
{
changeX = 0;
}
if (event.key.code==Keyboard::W)
{
changeY = -5;
rot = 0;
}
else if (event.key.code==Keyboard::S)
{
changeY = 5;
rot = 0;
}
else
{
changeY = 0;
}
break;
}
tex.loadFromFile("img\\obraz.png");
sprite.move(changeX, changeY);
sprite.setOrigin(100, 100);
Vector2f origin = sprite.getOrigin();
sprite.rotate(rot);
sprite.setTexture(tex);
window.clear();
window.draw(sprite);
window.display();
}
}
return 0;
}
Ошибка:
-неопределенная ссылка на `sf :: Texture :: loadFromFile (std :: string const &, sf :: Rect const &) '
-error: ld вернул 1 статус выхода