Veamos, me ocurre lo siguiente:
Tengo un programa en C++ con Visual Studio 2010 y necesito que el programa funcione tanto en Windows 7 como en Windows XP. Para ello en las propiedades del proyecto, en "Runtime Library" que se encuentra dentro del apartado "C/C++ -> Code Generation", elijo Multi-Threaded (/MT). Esto hace posible que el programa se ejecute perfectamente en ambos SOs. En Windows 7 todo funciona correctamente y hace lo que debe; sin embargo, en Windows XP hay una parte que no lo hace (un cálculo, muestra -8083 cuando debería mostrar -803 por ejemplo).
Por otro lado, si compilo con la Runtime Library en "Multi-Threaded DLL (/MD)" en Windows 7 sigue funcionando correctamente, pero en Windows XP no se ejecuta porque falta la librería msvcr100.dll. Si copio esa librería en la carpeta del ejecutable, se ejecuta correctamente y el cálculo que antes fallaba, ahora no falla.
Entonces, la solución pasaría por incluir de alguna forma esa librería en la compilación, pero no hay huevos a conseguirlo. He estado trasteando un poco en el Linker en las opciones del proyecto, añadiéndola a Additional Dependencies, pero me da error al compilar. Concretamente este error:
1>C:\Windows\System32\msvcr100.dll : fatal error LNK1107: invalid or corrupt file: cannot read at 0x360
1>
1>Build FAILED.
¿Alguna idea para solucionar este caos? xD Gracias.