Su consultor TI

Conozca su infraestructura, mejore lo que necesite

Los programas C++ compilados con Visual Studio 2012 provocan un error en Windows XP

Si se os ha mostrado este error, no os preocupéis puesto que tiene fácil solución. Yo personalmente me asusté bastante puesto que después de pasar muchas horas desarrollando mi proyecto PhotoCutter, cuando ya creía que tenía todo bajo control, me dispuse a probar el ejecutable en un XP Sp3 y me di un buen sobresalto cuando me apareció un mensaje similar a “The procedure entry point InitializeCriticalSectionEx could not be located in the dynamic link library KERNEL32.dll“.

Me sorprendí sobre todo porque, aunque programo y pruebo el código sobre un Windows 7 x64, ya había probado versiones preliminares del programa en XP sin problemas.

Una vez descartado que fuera cosa de mi XP virtualizado o del programa que estaba desarrollando, solo pude pensar que había ocurrido al instalar la ”update 2” de Visual Studio 2012.

Francamente, me dio un poco de miedo que hubieran quitado la compatibilidad del código con XP con esa actualización pero como no podía creerlo, investigué un poco y descubrí que no era el único al que le pasaba, por lo que la solución pasaba por esperar a que Microsoft sacara una nueva actualización, que llego, pocas semanas después, cuando descubrí la “release candidate” de la “update 3“.

La descargué y tras instalarla, todo volvió a funcionar.

Actualmente ya tengo instalada la “update 3” de producción que funciona muy bien.

VS2012 update 3

Aparte de tener Visual Studio actualizado, para que se produzca código compatible con XP, en el parámetro “Conjunto de herramientas de la plataforma“, hay que cambiar la opción por defecto a “Visual Studio 2012 – Windows XP (v110_xp)”, como se muestra en la imagen inferior.

Parámetro compilación XP

 

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *


*

Su consultor TI © 2014 Frontier Theme