Ok, so I'm trying to limit the number of dlls my exe uses (I for some reason prefer static linking over dynamic linking). Also I want to use the SPARK particle library thing and it won't link statically. If I link the SPARK library dynamically, it asks for SFML to also be linked dynamically. I then realized that maybe the problem was a /MT vs /MD thing. However, when I compile with the /MT I get a bunch of "already defined" linker errors. I now use /nodefaultlib and then I get over 9000 linker errors (well like 81). They all say stuff like:
Error 1 error LNK2001: unresolved external symbol "__declspec(dllimport) public: void __thiscall std::_Mutex::_Lock(void)" (__imp_?_Lock@_Mutex@std@@QAEXXZ) sfml-window-s.lib blank
now my question is, in Visual Studio, does SFML link against the dynamic CRT, even as a static library? How can I fix this error? What libraries do I need when I use /nodefault lib? I know this is more of a visual studio question, but any help would be greatly appreciated.
On another note, how is Code::Blocks? If I cannot remedy this situation, I wouldn't mind using Code::Blocks, I just have a few questions:
What are Code::Blocks' dependencies?
If it's not like VC++ (as it has the "visual" part removed) does it create leaner, faster programs?
I'm sure that if I use Code::Blocks it would make my project more easily cross platform.
Anyway I've been struggling with this static CRT vs Dynamic thing forever and just want to get to work on my game...