Compilando QJson

La próxima versión de Qt incluirá soporte para el formato JSON, pero las versiones 4.x.x necesitaban de librerías externas para poder trabajar con él. Una de esas librerías es QJson, la cual creo que va a usarse como base para el modelo JSON de la versión 5 de Qt. Llevaba tiempo queriendo usar JSON en un par de proyectos que usan Qt 4.8, así que aprovechando el tiempo libre del puente me la he descargado e instalado… y ha sido un poco lata 😀

El problema no es el código en sí, sino el soporte de build que el autor utiliza: las librerías en Linux se instalan como paquetes de actualización (p.e, un DEB o un RPM), pero en Windows no hay binarios para ello, así que hay que construirlos a partir del código fuente. Esta tarea, que en teoría debería de resultar fácil, se complica cuando te encuentras con que el proyecto está construido usando cmake, no qmake…

Bueno, compilar usando cmake no es complicado, simplemente instalarlo y seguir los pasos que se indican en la web de QJson… ¡pero de repente el sistema se pone tonto y no deja instalar en el directorio por defecto del proyecto! Vaya por dios, volvamos a compilar cambiando las opciones… ahora sí.

Y entonces el Qt Creator decide por su cuenta que las librerías compiladas por el CMake no le gustan.

Así que, teniendo a mano el código fuente del repositorio, toca reconstruir un proyecto en Qt Creator para que sea felíz con las librerías… ¡he tenido que bucear en el repositorio buscando el parche diff donde se eliminaron los archivos .PRO y recuperarlos a mano! ¿Y por qué? Porque compilarlo creando el archivo .PRO a mano no funcionaba, con errores extraños y oscuros que no tenía ganas de revisar.

Pero ya ha terminado, y la librería QJson está lista y funcionando…

Eso sí, después de la compilación y prueba he visto que en una semana van a liberar la versión definitiva de Qt 5.0.0 … y me he sentido un poco tonto 😀

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s