I have a problem with static linking and I just found this thread.
I added a preprocessor directive SFML_STATIC, and -s to all names of libraries.
Unfortunately I got lots of unresolved symbols.
When I removed the -s, it seems to be ok, except of 2 unresolved symbols sf::Color::White, and RenderStates::Default.
I am confused, preprocessor directive does not work ? Since the static libs are not linked properly, and when I switch back to dynamic libs, it is linking ok. Not exactly ok, because of 2 symbols that are unresolved.
One of them, sf::Color::White, I just replaced with sf::Color(255,255,255,255), and it's ok, but RenderStates::Default is still unresolved. Replacing it with a constant that I peek in headers would be a bit stupid. I wonder what's the reason that these symbols are undefined after adding preprocessor directive SFML_STATIC.
I have changed the order of libraries, but number of errors did not decrease, so the advice from above did not help.
Can anybody explain to me how to make properly static linking ?