I am trying to build a project in Visual Studio using static SFML libraries.
I set all the corresponding linker settings and it works: I can build an executable file that runs anywhere on my machine. However, my friends cannot run it: they do not have msvcp140.dll. I do not want to pack extra DLLs with the executable, nor do I want them to install additional run-time libraries on their machines.
So I assume I need to build the project using the "Multi-threaded \MT" setting (As opposed to the "Multi-threaded DLL \MD" setting)
But switching to that option causes several linker errors with the SFML library such as:
LNK2038: mismatch detected for 'RuntimeLibrary': value 'MD_DynamicRelease' doesn't match value 'MT_StaticRelease' in Program.obj
I am certain I am using the static SFML libraries and they are linked properly, yet I cannot switch to the \MT setting for full portability. In fact, using the dynamic version of the library allows the \MT setting - which is obviously useless, because now SFML doesn't link statically. Suggestions?