OJODIGITAL |
|
|
|
| perfectRAW/perfectBLEND Foro para tratar todo lo relacionado con estos dos programas basados en DCRaw para el revelado de imágenes RAW y el blending de imágenes para aumentar su rango dinámico |
![]() |
|
||||
|
Instrucciones para compilar
Instrucciones y configuración para compilar en casa dcraw, perfectRAW y perfectBLEND con el entorno de desarrollo que estamos utilizando. Deberían corren en cualquier win32 pero aún no sé si funcionan en win64.
Más adelante pondré instrucciones para compilar en otros entornos (cygwin,VS) y plataformas (linux, MacOS) conforme lo vayan logrando otros miembros del equipo. El archivo dcraw.c es el mismo para el EXE y la DLL no hace falta bajárselo dos veces. No vale la versión original de Coffin, que puede descargarse aquí. PARA WIN32 CON DEV-C++ MINGW Y VISUAL C# 2005 EXPRESS EDITION Para dcraw.exe (versión modificada por _GUI_ y por mí):
Para perfectRAW:
Para perfectBLEND: Aún no hay nada que compilar, tirará de la misma DLL y el entorno de desarrollo será el mismo que para perfectRAW. Un saludo: |
| Publicidad |
|
|||
|
Ole!!!
He conseguido compilarlo todo y me ha funcionado. Pero he tenido algunos problemas: DCRaw.dll Me ha dado varios problemas al compilar. No soy un experto en Dev-C++ pero los he conseguido solucionar añadiendo 4 defines. #define NO_JPEG #define NO_LCMS #define DJGPP #define _MINGW_ Otro problema que tiene el proyecto es que genera la dll dcraw_dll.dll, que no es el nombre que usa el PerfectRaw. PerfectRAW Lo he compilado con el Visual Studio Express 2008. Al abrirlo me lo ha convertido sin problemas. He tenido que activar la opción de compilación "Permitir código no seguro". Otro problema es que el path del dcraw está en el código y lo he tenido que modificar al sitio dónde yo tenia mi dll. Modificando el código y poniendo [DllImport(@"dcraw.dll")] la busca en el directorio del exe, con lo que creo que es la mejor solución. Sólo me queda felicitaros por el proyecto.
__________________
Algún día sabré hacer fotos, mientras voy a seguir practicando y recbiendo vuestras críticas. Mi galeria personal: www.ventayol.net Mi galeria en photo.net: http://www.photo.net/photos/vertex |
|
|||
|
Para que te funcione, tienes que hacer lo que indica VERTEX.
En dcraw.c al principio del fichero y tras los #define que ya hay, añade lo siguiente #define NO_JPEG #define NO_LCMS #define DJGPP #define _MINGW_ Con esto ya te creara la libreria --------------------------------------------------------- Para la creacion del dcraw.exe no consigo que lo compile, da un error de una referencia no definida Compilador: Default compiler Building Makefile: "C:\dcraw\Makefile.win" Ejecutando make... make.exe -f "C:\dcraw\Makefile.win" all gcc.exe dcraw.o -o "dcraw_exe.exe" -L"C:/Dev-Cpp/lib" C:/Dev-Cpp/lib/libmingw32.a(main.o)(.text+0x106):main.c: undefined reference to `WinMain@16' collect2: ld returned 1 exit status make.exe: *** [dcraw_exe.exe] Error 1 Ejecución Terminada Última edición por Eduardo Cañadas; 10-may-2008 a las 23:47. |
|
||||
|
Cita:
Cita:
PerfectRAW Cita:
Cita:
. Cuando distribuyamos el producto evidentemente quedará configurado como lo tienes tú ahora, pero para desarrollar me es más cómodo apuntar al directorio donde se recompila la DLL.Muchas gracias. ¿Qué plataforma tienes? XP, Vista... no será de 64 bits, ¿verdad? Un saludo: _________________________________ Acabo de actualizar los archivos de proyecto dcraw_dll.dev y dcraw_exe.dll para solucionar los problemas que relata Eduardo en su post anterior. Ahora funcionará todo a la primera. Si ya habíais descargado estos archivos podéis volver a descargarlos o solucionarlo como le he explicado a él. Disculpas. Un saludo: Última edición por ManuelLlorens; 11-may-2008 a las 00:06. Razón: Fusión automática de mensajes para prevenir autosubir post |
|
|||
|
He estado jugando un rato con los proyectos y al final los he subido a Google Code.
Así que si quereis compilar el proyecto sólo os tenies que bajar el código de Google Code. Manuel he hecho algunos cambios en los proyectos para tener un poco mas organizadas las cosas, espero que no te moleste. En el svn he creado dos directorios trunk\dcraw --> Para el dcraw.dll trunk\PerfectRAW --> Para el perfect raw cuándo tengamos el PerfectBlend ya lo crearemos. dcraw He creado una estructura de directorios para tener las cosas mas organizadas: dcraw --> Contiene los proyectos y makefiles dcraw\src --> Contiene el código fuente dcraw\obj --> Aquí se generaran los obj dcraw\bin --> Aquí se generará la dll He modificado el proyecto para que ponga todos estos directorios. Además he añadido un makefile addicional que copia la dcraw.dll a los directorios bin del PerfectRAW al terminar la compilación, con lo que ya podem poner [DllImport(@"dcraw.dll")] en el C# ya que la dll siempre estará allí. PerfectRAW He creado una estructura similar PerfectRAW --> Proyectos (yo he subido el de 2008) PerfectRAW\bin --> Aquí se generan los ejecutables PerfectRAW\obj --> Directorio para los obj PerfectRAW\src --> Todo el código fuente está aquí PerfectRAW\Properties --> No sé q es esté directorio peró lo he dejado dónde estaba. A ver que os parece la nueva estructura. Yo creo que lo mejor es que todos usemos el svn de Google Code, así tendremos menos problemas. Es muy fàcil.
__________________
Algún día sabré hacer fotos, mientras voy a seguir practicando y recbiendo vuestras críticas. Mi galeria personal: www.ventayol.net Mi galeria en photo.net: http://www.photo.net/photos/vertex |
|
||||
|
Cita:
Lo que sí me pregunto es lo siguiente: en este momento, por ejemplo, mi versión de dcraw.c es superior a la que hay en el FTP y de hecho incompatible con ella. El proyecto de VC# sin embargo no está aún actualizado a la versión de la DLL. Si subo el dcraw.c me cargo la posibilidad de que recompiléis... me espero y lo subo todo machacando lo que hay, mantenemos la versión anterior y esto abre una nueva. ¿Cómo va eso? Lo que sí que os pido es que hasta que no termine de consolidar lo que ya está hecho no os pongáis a modificar el código, estoy a punto de "liberarlo" todo. Como ya puse, hay tareas para que vayáis trabajando en paralelo sin que nos molestemos, de momento. Un saludo: |
|
|||
|
Mi consejo es que te esperes a tener el VC# modificado.
Lo mas importante es subir código que se pueda compilar y probar. No es nada bueno subir cosas que no compilan o dejan la aplicación sin funcionar.
__________________
Algún día sabré hacer fotos, mientras voy a seguir practicando y recbiendo vuestras críticas. Mi galeria personal: www.ventayol.net Mi galeria en photo.net: http://www.photo.net/photos/vertex |
|
||||
|
Va todo genial, pero me falla el copy que has puesto en el copydll.mak, me dice El sistema no puede hallar el archivo especificado, creo que se refiere al comando copy porque el caso es que las carpetas están bien y la DLL existe. He cambiado el copy por un xcopy /Y y ha funcionado, ¿lo dejo así?
He creado una nueva solución 2005, he cambiado el nombre del directorio a perfectRAW y he modificado el código de la DLL y del C#. En cuando corra lo subo todo para que podáis probar. Un saludo y gracias: Última edición por ManuelLlorens; 11-may-2008 a las 12:53. |
|
|||
|
VERTEX
En el proyecto de dcraw la copia no funciona porque el nombre del directorio de destio es "pefectRaw", falta una r En el proyecto de Test, da error de compilacion porque no encuentra "libdcra.a", hay que modificar el proyecto para indicarle donde esta ".\bin\libdcraw.a" |
|
||||
|
Cuando termine de probar la DLL desde C# subo todo con los proyectos OK. Gracias por probar.
|
|
||||
|
Sólo quería comentar que con las aclaraciones de Vértex y Eduardo he podido compilar todo.
Y si yo puedo compilarlo, quiere decir que cualquiera puede hacerlo... ![]() De momento me da un error cuando intento revelar un raw pero volveré a pobar otra vez cuando subáis versiones nuevas del código. Daniel
__________________
Retratero dominguero / Parásito fotográfico Beste mundu bat posible eta beharrezkoa da - Otro mundo es posible y necesario. Aunque parezca mentira, la cabeza sirve para algo más que para sujetar las orejas. |
|
|||
|
Joer, si es que soy un campeon.
Me he equivocado con el nombre del directorio. Ya lo he corregido.
__________________
Algún día sabré hacer fotos, mientras voy a seguir practicando y recbiendo vuestras críticas. Mi galeria personal: www.ventayol.net Mi galeria en photo.net: http://www.photo.net/photos/vertex |
|
||||
|
Cita:
![]() Me da un error al intentar revelar un raw en concreto pero con otros funciona... ![]() Daniel
__________________
Retratero dominguero / Parásito fotográfico Beste mundu bat posible eta beharrezkoa da - Otro mundo es posible y necesario. Aunque parezca mentira, la cabeza sirve para algo más que para sujetar las orejas. Última edición por dgmaga; 11-may-2008 a las 17:58. |
|
|||
|
vertex: el directorio Properties yo tampoco sé muy bien qué es, pero en cualquier caso contiene código fuente (no generado por el compilador) y por tanto no debería de estar en el subdirectorio de la herramienta de desarrollo utilizada para compilar, sino en el raíz al mismo nivel que src
|
|
||||
|
Cita:
Los archivos se llaman "settings.designer.cs" y "settings.settings". No creo que sirvan para compilar en otros entornos pero véte a saber. Daniel
__________________
Retratero dominguero / Parásito fotográfico Beste mundu bat posible eta beharrezkoa da - Otro mundo es posible y necesario. Aunque parezca mentira, la cabeza sirve para algo más que para sujetar las orejas. |
|
||||
|
Pues va a ser que no compila
:Compilador: Default compiler Building Makefile: "C:\dcraw\Makefile.win" Ejecutando make... make.exe -f "C:\dcraw\Makefile.win" all gcc.exe -c test.c -o test.o -I"C:/Dev-Cpp/include" -w -fexpensive-optimizations -O1 gcc.exe: installation problem, cannot exec `cc1': No such file or directory make.exe: *** [test.o] Error 1 Ejecución Terminada No sé si sreá porque la ruta de gcc.exe no está referenciado en las variables de entorno, pero ni idea de como hacer para que lo esté (Vista). Y eso de cc1??? Me piro a Alicante, la próxima semana más.
__________________
"En ocasiones veo halos." Canon EOS 350D | EOS 300 | 10-22 | 17-40 f4L | 24-70 f2.8L | 70-200 f4L | 300 f4L IS http://www.guillermoluijk.com para suscribirte pulsa aquí Última edición por _GUI_; 16-may-2008 a las 19:45. |
|
|||
_GUI_ Hay que leer más ... no se puede tener tanta prisa en marchar a Alicante...![]() Eso ya estaba reportado y arreglado. En Vista no sé por qué el compilador no carga el precompilador porque no lo encuentra en el path tras la instalación. En XP sí. Hay que añadir la carpeta del mingcw y librerías a las opciones de DEV-C++. En el hilo de problemas de funcionamiento en Vista 64, Eduardo Cañadas había dado la solución. Sigue las instrucciones de este enlace: http://acatlangrafico.files.wordpres...8/03/vista.pdf Última edición por ariznaf; 16-may-2008 a las 20:34. |
|
||||
|
Cita:
he cambiado las rutas y me sigue dando un error, ahora por lo menos más adelante: Compilador: Default compiler Building Makefile: "C:\dcraw\Makefile.win" Ejecutando make... C:\Dev-Cpp\Bin\make.exe -f "C:\dcraw\Makefile.win" all C:\Dev-Cpp\Bin\gcc.exe test.o -o "test.exe" -L"C:/Dev-Cpp/lib" libdcraw.a gcc.exe: libdcraw.a: No such file or directory C:\Dev-Cpp\Bin\make.exe: *** [test.exe] Error 1 Ejecución Terminada En C:/Dev-Cpp/lib hay un archivo libddraw.a, pero igual no tiene nada que ver con el otro. Ahora sí que me piro, hasta el domingo.
__________________
"En ocasiones veo halos." Canon EOS 350D | EOS 300 | 10-22 | 17-40 f4L | 24-70 f2.8L | 70-200 f4L | 300 f4L IS http://www.guillermoluijk.com para suscribirte pulsa aquí |
|
|||
|
NO GUI, si lo entiendo bien es el error es porque no encuentra la librería generada por el proyecto dcrawdll.
Insisto, hay que leer más... ![]() En las explicaciones de Manuel explicaba que hay que ejecutar primero el proyecto de la librería y luego el de test. Lo que creo que pasa es que no encuentra la librería porque no has compilado el proyecto que la genera primero. Por cierto ¿tú no estabas en Alicante? Esto no es Alicante, eso está un poco más al sur de este foro ![]() |
![]() |
| Marcadores |
| Herramientas | |
| Desplegado | |
|
|