Nota: Para este tutorial se ha empleado Windows 10 Pro y Visual Studio 2015
Como todos sabemos QGIS tienes grandes herramientas y muy buenos algoritmos y sobre todo los bindings de python para hacer maravillas, pero seguro que si eres desarrollador o simplemente eres curioso querrás ver sus tripas y poder modificar el código fuente y tal vez resolver alguna issue abierta.
Pues eso es lo que vamos a ver en esta entrada para así poder compilar y debuggear el Core de QGIS en Windows, lo cual es un poco más complejo y necesita más configuración que en Linux.
Antes de empezar necesitamos descargar algunos requisitos:
• CMake
• Cygwin
• Git
• OSGeo4W
Para la instalación de CMake y Git no tendremos que hacer ninguna modificación ya que los parámetros por defecto nos van a servir.
En la instalación de Cygwin, mantenemos el “directorio raíz” como C:\cygwin64 e instalamos los siguientes paquetes:
• Bison
• Flex
• git
La instalación git dentro de Cygwin nos permite usar el número de compilación actual al compilar QGIS.
Para la instalación de OSGeo4W, deberemos seleccionar «Instalación avanzada«. Haga clic en «Siguiente» y seleccionar «Instalar desde Internet”. Ahora hacemos clic en «Siguiente» y ponemos en «Directorio raíz» por ejemplo en mi caso D:\OSGeo4W64. Lo pongo en otra unidad para liberar espacio de la unidad principal.
Seleccionamos siguiente y lo dejamos por defecto. En la siguiente pantalla si estamos bajo un proxy, ponemos nuestros datos y si no es así simplemente le damos a siguiente y seleccionamos http://download.osgeo.org y click en “Siguiente”.
Ya desde aquí instalamos todos estos paquetes:
• oci-devel
• python3-gdal
• python3-jinja2
• python3-owslib
• python3-psycopg2
• python3-pygments
• qgis-dev-deps
• qt5-libs-debug-pdb
• qtwebengine-qt5-libs-debug
• qtwebkit-qt5-libs-debug
Le damos a siguiente y dejamos que todo se instale y ¡voilá ya tenemos configurado OSGeo4W! Ya queda poco.
¿Que más nos falta? Pues una IDE para poder trabajar y para ello vamos a descargar e instalar Visual Studio 2015, la idea perfecta y es la que se debería emplear es la IDE propia de Qt “Qt Creator”, pero configurar todo el entorno es realmente infernal en Windows, y aunque se puede hacer, no compensa el tiempo invertido, por lo que emplearemos como se ha comentado Visual Studio.
La ruta de instalación dejamos la de por defecto y bajo la opción “Custom”. seleccionamos “Visual C++” y en la sección de “Windows and Web Development/Universal Windows App Development Tools” seleccionamos Tools (1.4.1) and Windows 10 SDK (10.0.14393).
Nota: Si tenemos problema con la instalación de la SDK deberemos instalar por separado Windows 10 SDK (10.0.14393).
Una vez tenemos instalado Visual Studio ya no necesitamos instalar más programas ni librerías adicionales.
Lo siguiente que necesitamos es clonar el proyecto de QGIS. Para ello creamos un fork en nuestra cuenta de GitHub y luego simplemente nos lo clonamos en local.
Una vez tenemos el código fuente QGIS creamos un fichero (por ejemplo en el escritorio) en cual llamaremos por ejemplo QGIS-Dev.bat con lo siguiente:
@echo off
:: Ruta instalación de Osgeo4W
set OSGEO4W_ROOT=D:\OSGeo4W64
:: Ruta al código fuente de QGIS
set SOURCE=D:\GitHub\QGIS
:: Ruta a la instalación de Visual Studio 2015
SET PATH=%PATH%;C:\VisualStudio2015\Common7\IDE\
cd %SOURCE%\ms-windows\osgeo4w
d:
call %SOURCE%\ms-windows\osgeo4w\
@cmd /k configonly.bat
Estos comandos nos han generado la solución de visual studio en: D:\Github\QGIS\ms-windows\osgeo4w\build-qgis-test-x86_64\qgis.sln
Ahora solo debemos abrir la solución escribiendo en la cmd abierta al ejecutar el bat anterior “devenv”,
Esperaremos a que cargue y hacemos un build del proyecto “ALL BUILD”. En este punto debéis ser pacientes ya que el proceso tarda aproximadamente unos 40 minutos o más, pero todo dependerá de las características de vuestro PC.
Una vez se ha completado todo, debemos hacer click derecho sobre el proyecto y seleccionar la pestaña “debugging” en el apartado “Configuración” cambiamos “Command” a D:\Github\QGIS\ms-windows\osgeo4w\build-qgis-test-x86_64\output\bin\RelWithDebInfo\qgis.exe. y seleccionamos “OK”.
Ahora simplemente le damos a “Start Debugging” o a F5.
Nota: Si nos sale un aviso avisándonos de “out of date” podemos simplemente hacer click en “No”.
Por fin, hemos tardado pero ya lo tenemos Compilado, así que ahora vamos a Debuggear el código.
En la parte de debug para poder ver el contenido de los objetos debemos cargar los símbolos (.pdb) en herramientas > opciones > depuración > símbolos.
Y en las opciones generales chequeamos “Enable Native Edit and continue”.
Y deschequeamos “Native compatibility mode”.
Por otro lado cambiamos Debugger Type a «Mixed» en project properties -> Configuration Properties -> Debugging.
Ya lo tenemos, ahora vamos a poner un punto de ruptura, por ejemplo en la creación del menú contextual en los layer del TOC, el cual se crea al hacer click derecho sobre la capa.
Y aquí podemos ver todo el contenido en este caso del objeto “layer”, (Se trata de un layer que he cargado manualmente en QGIS y al que le he dado click derecho para que llame a este método).
Ahora ya tenemos el entorno de desarrollo montado para compilar y debuggear QGIS en nuestra máquina, espero que haya sido de ayuda y mucha gente más se anime a desarrollar QGIS.
Deja tu comentario