Avances en la compilación de dcraw.exe (de momento el de Coffin, no el nuestro) con VC++ 2005.
En la última versión de Coffin, la 8.88 el único cambio necesario para que la aplicación compile y funcione correctamente (bueno, compila con 457 advertencias que pueden ignorarse tranquilamente) en VC++ es cambiar la línea 58:
por ésta otra:
Código:
#if defined (DJGPP) || (_MSC_VER)
Como proyecto de VC++ 2005 se crea un proyecto de consola Win32 vacío y en las opciones del proyecto hay que añadir las opciones del preprocesador: NO_JPEG;NO_LCMS (Exactamente en Propiedades de configuración -> C/C++ -> Preprocesador -> Definiciones del preprocesador).
Con eso y con todas la optimizaciones seleccionadas (incluyendo SSE2 y fast-math) lo he compilado y probado y va como una moto. Además seguro que funciona bien en todas las versiones de Windows.
Ahora voy a intentar lo mismo con nuestro dcraw.c.
__________________________________________________ ______
Actualización:
Tras realizar unos pequeños cambios en nuestro código para que VC++ acepte compilarlo como C en lugar de C++ también compila nuestro .exe sin problemas. Ahora toca fusionar los cambios de Coffin 8.86->8.88 sobre nuestro código. A ver si me apaño con el diff.
__________________________________________________ ______
Actualización:
Bueno, ya he fusionado los cambios y ya compila y funciona con VC++ nuestro código con los últimos cambios de Coffin (v 8.88) que soportan dos o tres cámaras más (creo que la Canon 1000D y la Olympus E520 y alguna Panasonic). También hay algunas pequeñas diferencias en la interpolación PPG. Finalmente no me he apañado con el diff y he tenido que hacer "un diff a mano", a ver si alguno de vosotros me enseña a hacerlos en Windows porque soy un negado
.
Ahora a por la DLL.
__________________________________________________ ______
Actualización:
Bueno, pues ya está terminado todo. Ya tengo la DLL de dcraw compilada con VC++ 2005 con los últimos cambios de Coffin y funcionando perfectamente con el resto del código de perfectRAW (y yo diría que un pizca más rápida que la anterior). Ahora toca limpiar un poco el resto del proyecto, especialmente la parte en C# y subir los cambios al SVN.
El .exe y el .dll resultantes según el proyecto elegido funcionarán perfectamente en todas las versiones de Windows y además compilan con GCC con Cygwin, Dev-c++ con MinGW, DJCPP y Visual C++ 2005. Los .exe también deberían compilar en Linux y MacOS, compilar las dlls en esos entornos es de momento más de lo que puedo ofrecer, pero no creo que sea muy complicado de conseguir.
Las gracias para mis suegros que se han quedado esta noche con mis hijos
.
Un saludo:
Marcadores