I’m writing a C++ program (32 bit) that uses SFML 1.6. The release build can be compiled and run without problems whereas the debug build also compiles without problems but can’t be run. Dependency Walker shows that the debug version of SFML requires a MSVCR90D.dll and a MSVCP90D.dll. Both files can’t be found on my hard drive. I didn’t compile SFML myself (I’ve downloaded the binaries) and didn’t notice before that it was compiled with Visual Studio 2008 whereas I am using VS 2010 Express. So I thought downloading the VS 2008 redistributables would fix the problem but it didn’t. Now I am not sure if using libraries that were compiled with an older compiler version is a good idea in general.
Any suggestions on what I am doing wrong? Which redistributable do I need to install to get those missing DLLs?
PS: I am using Win7 64
No, unfortunately those are the VS2008 debug runtime DLLs (the ‘D’ on the end). You’re not officially allowed to distribute them.
Note that mixing C++ between compiler versions is dangerous. Your options are probably
I was going to suggest getting the builder to re-build as release for you, but there’s still the 2008 vs 2010 problem.