Integración de ITK en Visual Studio 2008
A tener en
cuenta: trabajamos en sistemas de 32 bits.
1. Descarga de Programas
A) ITK : www.itk.org
- Resources > Download : "InsightToolkit-3.20.0.zip" (hosted at SourceForge)
- Descomprimir el fichero '.zip'. La estructura de directorios que contiene se copia en "C:\...\Mis documentos\librerias\InsightToolkit-3.20.0
1. Descarga de Programas
A) ITK : www.itk.org
- Resources > Download : "InsightToolkit-3.20.0.zip" (hosted at SourceForge)
- Descomprimir el fichero '.zip'. La estructura de directorios que contiene se copia en "C:\...\Mis documentos\librerias\InsightToolkit-3.20.0
B) CMAKE : www.cmake.org
- Resources > Download : Binary distributions: "cmake-2.8.4-win32-x86.exe" Windows (Win32 Installer)
2. Compilación de ITK con CMake
Se instala 'CMake' y se compila ITK con dicho programa.
En el directorio origen está el fichero “CMakeLists.txt” "C:\Documents and Settings\...\Mis documentos\librerias\ InsightToolkit-3.20.0".
El directorio
destino será: "C:\Documents and Settings\...\Mis
documentos\librerias\ITK_COMPILADAS"
Opciones
CMake: build examples ->off (para que tarde menos)
Una
vez pre-compilado con CMake, hay que compilarlo con Visual. Para ello
hacemos doble click en el fichero "C:\Documents and
Settings\...\Mis documentos\librerias\ITK_COMPILADAS\ ITK.sln" con
lo que se abre Visual, y ahora hay que compilar en modo DEBUG y RELEASE
(primero uno y después otro)
Para
compilar, pinchamos con el botón derecho del ratón en 'ALL_BUILD', y
seleccionamos “Generar”. Esto tarda un rato…
Una vez
concluido, las librerías (ficheros .lib que habrá que añadir en los proyectos)
se encuentran en
"C:\Documents
and Settings\...\Mis documentos\librerias\ITK_COMPILADAS\bin\Debug" y
"C:\...\Release"
3. Creación
de variables de entorno
Se van a definir variables de entorno para que al usar los proyectos en distintos equipos, encuentren las librerías independientemente de donde esté situado el directorio “Mis documentos\librerías”.
Se van a definir variables de entorno para que al usar los proyectos en distintos equipos, encuentren las librerías independientemente de donde esté situado el directorio “Mis documentos\librerías”.
Debemos
seguir el siguiente procedimiento:
"Inicio > Panel de control > Sistema (en vista
clásica) > Opciones avanzadas > Variables de
entorno"
PATH_ITK_INCLUDES
|
C:\Documents and Settings\...\Mis
documentos\librerias\InsightToolkit-3.20.0
|
PATH_ITK_LIBS
|
C:\Documents
and Settings\...\Mis documentos\librerias\ITK_COMPILADAS
|
4.
Configuración para cada proyecto en Visual Studio 2008
Tras abrir
'VS' :
Archivo
> Nuevo Proyecto > Visual C++ > Proyecto Win32
Mi consejo
es que se cree un proyecto vacío, no dará problemas si tenemos claros los
fundamentos de la estructura de los archivos '.h' y '.cpp'.
Y ahora es
el momento de modificar las propiedades del proyecto para poder trabajar con
'ITK'. Todos los cambios que se indican a continuación habrá que hacerlo tanto
en modo 'Debug' como en modo 'Release'.
A) ' Propiedades del proyecto >
Propiedades de "Nombre del proyecto" > Propiedades de
Configuración > Vinculador > General > Directorios de bibliotecas
adicionales'
En modo
Release escribimos:
.\Release
$(PATH_ITK_LIBS)\bin\Release
En
modo Debug escribimos:
.\Debug
$(PATH_ITK_LIBS)\bin\Debug
B) '
Propiedades del proyecto > Propiedades de "Nombre del proyecto"
> Propiedades de Configuración > Vinculador > Entrada >
Dependencias adicionales'
Añadimos
esta serie de '.lib' , al añadirlas, tener la precaución de no escribir los
punto y coma, ya que provocarán un error :
kernel32.lib;
user32.lib; gdi32.lib;winspool.lib; shell32.lib; ole32.lib; oleaut32.lib;
uuid.lib; comdlg32.lib; advapi32.lib; glu32.lib;opengl32.lib; imm32.lib;
winmm.lib; ws2_32.lib; ITKAlgorithms.lib; itkNetlibSlatec.lib;ITKNumerics.lib;
ITKBasicFilters.lib; ITKIO.lib; ITKNrrdIO.lib; itkgdcm.lib;
itkjpeg12.lib;itkjpeg16.lib; itkopenjpeg.lib; snmpapi.lib; rpcrt4.lib;
itkpng.lib; itktiff.lib; itkjpeg8.lib; ITKSpatialObject.lib;
ITKCommon.lib; itkvnl_inst.lib; itkvnl_algo.lib; itkv3p_netlib.lib; itkvnl.lib;
itkvcl.lib; ITKMetaIO.lib; itksys.lib; comctl32.lib; wsock32.lib;
ITKDICOMParser.lib; ITKEXPAT.lib; ITKniftiio.lib; ITKznz.lib; itkzlib.lib;
C) ' Herramientas > Opciones >
Proyectos y soluciones > Directorios de VC++' . Y dónde pone "mostrar
directorios para", elegir : "Archivos de inclusión , como se ve en la
siguiente imagen.
En este sitio tienen que estar los siguientes directorios:
$(PATH_ITK_LIBS)\Utilities\gdcm
$(PATH_ITK_INCLUDES)\Utilities\gdcm\src
$(PATH_ITK_INCLUDES)\Code\BasicFilters
$(PATH_ITK_INCLUDES)\Code\IO
$(PATH_ITK_LIBS)\Utilities\vxl\core
$(PATH_ITK_INCLUDES)\Utilities\vxl\core
$(PATH_ITK_LIBS)\Utilities
$(PATH_ITK_LIBS)\Utilities\vxl\vcl
$(PATH_ITK_INCLUDES)\Utilities\vxl\vcl
$(PATH_ITK_LIBS)
$(PATH_ITK_INCLUDES)\Code\Common
$(VCInstallDir)include
$(VCInstallDir)atlmfc\include
$(WindowsSdkDir)\include
$(FrameworkSDKDir)include
$(PATH_ITK_INCLUDES)\Code\Algorithms
$(PATH_ITK_INCLUDES)\Code\Review
Espero que
esta primera entrada os haya servido de ayuda, espero vuestros comentarios con
sugerencias, opiniones y dudas!
Antonio
Gómez Barquero
Saludos
ResponderEliminarEn el punto 2, ¿donde hay que compilar en DEBUG y luego en RELEASE?
Puede describirme detalladamente estos pasos.
Gracias.
Hola!
ResponderEliminarLa precompilación de Cmake se realiza una vez. Después al hacer doble click en el archivo 'ITK.sln' se abre Visual Studio 2008, es ahí dónde tienes que hacer la compilación en modo Debug y Release.
Espero haber respondido a tu pregunta.
Un saludo
Hola de nuevo...
EliminarLlevo casi 3 semanas tratando de correr un ejemplo de ITK pero los resultados no han sido favorables, por una u otra razón, ¿Podría poner un ejemplo sencillo de como saber si está correctamente las librerías?
De antemano gracias.
Puedes decirme en que punto te encuentras? has realizado la configuración que aquí pone en Visual Studio? Has hecho un proyecto Win32 y escribirlo como si fuera c++ pero con una clase nueva en la que definir los objetos en el header? Estas siguiendo el manual de ITK? --> www.itk.org/ItkSoftwareGuide.pdf
EliminarSaludos,
EliminarAsí es, de nuevo estoy compilando las librerías, tiene algún correo en el cual pueda mandarle las pantallas para indicarme si lo estoy haciendo mal, porque hay cosas que no encuentro, mi correo es payasito97@hotmail.com
Gracias..
Saludos, envié el archivo, no lo ha revisado?
EliminarEstoy interesado en seguirle para proporcionar un tutorial y aclarar los errores posibles para darle un seguimiento a dicha herramienta.
De antemano gracias.
Hola, hemos compilado las Aplicaciones de ITK con el CMake 2.8 para visual studio c++ 2008,pero la aplicacion de DicomImageViewer no nos la compila en el conjunto, y si intentamos compilarla de forma individual nos sale este error:
ResponderEliminarCMake Error at CMakeLists.txt:29 (ITK_DISABLE_FLTK_GENERATED_WARNINGS):
Unknown CMake command "ITK_DISABLE_FLTK_GENERATED_WARNINGS".
¿Como poemos solucionarlo?
Gracias, Un Saludo.
Estoy realizando un PFC con ITK, Qt y VS2008, tengo algún problema.
ResponderEliminarAgradecería poder hablar con usted.
adcogra@teleco.upv.es