I am getting the following error:
unresolved external symbol "public: static class sf::RenderStates const sf::RenderStates::Default
after some debugging I found out that the function window.draw() causes it. I think that it might be something wrong with my linking since it works just fine in release mode.
#include <SFML/Graphics.hpp>
#include "Graphics.h"
using namespace sf;
using namespace std;
sf::Texture grey;
sf::Texture green;
int main()
{
int size = 75;
RenderWindow window(VideoMode(750, 750), "Chess");
Event event;
void CreateTextures();
while (window.isOpen()) {
while (window.pollEvent(event)) {
if (event.type == Event::Closed) {
window.close();
}
}
window.clear(Color::Black);
std::vector<Sprite> sprites(64);
for (int y = 0; y < 8; y++)
{
for (int x = 0; x < 8; x++)
{
int index = y * 8 + x;
if (index % 2 == 0)
{
sprites.at(index).setTexture(grey);
sprites.at(index).setPosition(75 + x * size, 75 + y * size);
window.draw(sprites.at(index)); // ERROR
}
else
{
sprites.at(index).setTexture(green);
sprites.at(index).setPosition(75 + x * size, 75 + y * size);
window.draw(sprites.at(index)); // ERROR
}
}
}
window.display();
}
return 0;
}
void CreateTextures()
{
Uint8* pixels = new Uint8[75 * 75 * 4];
//Creating Grey Texture
grey.create(75, 75);
for (int i = 0; i < 75 / 2; i += 4)
{
pixels[i] = 188;
pixels[i + 1] = 150;
pixels[i + 2] = 86;
pixels[i + 3] = 255;
}
grey.update(pixels);
//Creating Green Texture
green.create(60, 75);
for (int i = 0; i < 75 / 2; i += 4)
{
pixels[i] = 188;
pixels[i + 1] = 150;
pixels[i + 2] = 86;
pixels[i + 3] = 255;
}
green.update(pixels);
}
(No, the code is not working properly. I still have to debug it but I need to be able to compile it first)
edit: These are the .lib's that I link:
sfml-graphics-d.lib
sfml-window-d.lib
sfml-system-d.lib
sfml-audio-d.lib
sfml-network-d.lib