[Spanish] Compilación QGis en Windows

rafael.mejias at sinfogeo.com rafael.mejias at sinfogeo.com
Fri Nov 5 09:06:21 EDT 2010


Gracias Mauricio, ya lo probé. Antes ni siquiera reconocía los include. 
Ahora al menos los reconoce, pero algo que en principio pensaba que no 
revestía mayor complicación, se me está torciendo bastante.
Con python, no tengo problema en crear una aplicación, pero con QT veo 
que no es trivial, a no ser que se me esté escapando algo.
También he visto que en la documentación 'oficial', la aplicación c++ la 
construyen con VC, pero son páginas y páginas de paquetes, variables y 
ficheros que hay que modificar. No me puedo creer que sea tan fácil en 
python y tan complicado en C++.

Un saludo,
Rafa


El 05/11/2010 13:48, Mauricio Pazos escribió:
> On Friday 05 November 2010 09:49:46 am rafael.mejias en sinfogeo.com wrote:
> > Buenos días,
> > estoy desarrollando una aplicación c++ de QGis en windows xp con QT, y
> > este es mi fichero .pro (es un poco raro pero es que he probado de 
> todo):
> > TEMPLATE = app
> >
> > QT += core \
> >
> > gui \
> >
> > sql \
> >
> > xml
> >
> > INCLUDEPATH += "C:/Archivos de programa/Quantum GIS
> > Tethys/apps/qgis/include" \
> >
> > "C:/Archivos de programa/Quantum GIS Tethys/include" \
> >
> > "C:/Archivos de programa/Quantum GIS Tethys/apps/gdal-16/include" \
> >
> > "C:/Archivos de programa/Quantum GIS Tethys/apps/Python25/include" \
> >
> > "C:/Archivos de programa/Quantum GIS
> > Tethys/apps/grass/grass-6.4.0svn/include" \
> >
> > "C:/Archivos de programa/Quantum GIS
> > Tethys/apps/Python25/Lib/site-packages/win32/include" \
> >
> > win32:LIBS += "C:/Archivos de programa/Quantum GIS
> > Tethys/apps/qgis/lib/qgis_core.lib" \
> >
> > "C:/Archivos de programa/Quantum GIS 
> Tethys/apps/qgis/lib/qgis_gui.lib" \
> >
> > -L "C:/Archivos de programa/Quantum GIS Tethys/bin" \
> >
> > -L "C:/Archivos de programa/Quantum GIS Tethys/apps/gdal-16" \
> >
> > -L "C:/Archivos de programa/Quantum GIS Tethys/apps/msys"
> >
> > SOURCES += main.cpp\
> >
> > mainwindow.cpp
> >
> > HEADERS += mainwindow.h
> >
> > FORMS += mainwindow.ui
> >
> > DEFINES += GUI_EXPORT= CORE_EXPORT=
> >
> >
> > pero al compilar, tengo esta lista de errores:
> > debug/main.o: In function `Z5qMainiPPc':
> >
> > C:\rafa\QT\miApli-build-desktop/../miApli/main.cpp:32: undefined
> > reference to `QgsApplication::QgsApplication(int&, char**, bool)'
> >
> > C:\rafa\QT\miApli-build-desktop/../miApli/main.cpp:39: undefined
> > reference to `QgsProviderRegistry::instance(QString)'
> >
> > C:\rafa\QT\miApli-build-desktop/../miApli/main.cpp:42: undefined
> > reference to `QgsVectorLayer::QgsVectorLayer(QString, QString, QString,
> > bool)'
> >
> > C:\rafa\QT\miApli-build-desktop/../miApli/main.cpp:45: undefined
> > reference to `QgsVectorLayer::geometryType() const'
> >
> > C:\rafa\QT\miApli-build-desktop/../miApli/main.cpp:45: undefined
> > reference to
> > `QgsSingleSymbolRenderer::QgsSingleSymbolRenderer(QGis::GeometryType)'
> >
> > C:\rafa\QT\miApli-build-desktop/../miApli/main.cpp:47: undefined
> > reference to `QgsVectorLayer::setRenderer(QgsRenderer*)'
> >
> > C:\rafa\QT\miApli-build-desktop/../miApli/main.cpp:48: undefined
> > reference to `QgsMapLayer::isValid()'
> >
> > C:\rafa\QT\miApli-build-desktop/../miApli/main.cpp:57: undefined
> > reference to `QgsMapLayerRegistry::instance()'
> >
> > C:\rafa\QT\miApli-build-desktop/../miApli/main.cpp:57: undefined
> > reference to `QgsMapLayerRegistry::addMapLayer(QgsMapLayer*, bool)'
> >
> > C:\rafa\QT\miApli-build-desktop/../miApli/main.cpp:62: undefined
> > reference to `QgsMapCanvas::QgsMapCanvas(QWidget*, char const*)'
> >
> > C:\rafa\QT\miApli-build-desktop/../miApli/main.cpp:63: undefined
> > reference to `QgsMapLayer::extent() const'
> >
> > C:\rafa\QT\miApli-build-desktop/../miApli/main.cpp:63: undefined
> > reference to `QgsMapCanvas::setExtent(QgsRectangle const&)'
> >
> > C:\rafa\QT\miApli-build-desktop/../miApli/main.cpp:64: undefined
> > reference to `QgsMapCanvas::enableAntiAliasing(bool)'
> >
> > C:\rafa\QT\miApli-build-desktop/../miApli/main.cpp:66: undefined
> > reference to `QgsMapCanvas::freeze(bool)'
> >
> > C:\rafa\QT\miApli-build-desktop/../miApli/main.cpp:68: undefined
> > reference to `QgsMapCanvas::setLayerSet(QList<QgsMapCanvasLayer>&)'
> >
> > C:\rafa\QT\miApli-build-desktop/../miApli/main.cpp:70: undefined
> > reference to `QgsMapCanvas::refresh()'
> >
> > C:\rafa\QT\miApli-build-desktop/../miApli/main.cpp:73: undefined
> > reference to `QgsApplication::~QgsApplication()'
> >
> > C:\rafa\QT\miApli-build-desktop/../miApli/main.cpp:73: undefined
> > reference to `QgsApplication::~QgsApplication()'
> >
> > 
> c:/qt/mingw/bin/../lib/gcc/mingw32/4.4.0/../../../libmingwex.a(pformat.o):p
> >format.c:(.text+0x166d): undefined reference to `_get_output_format'
> >
> > collect2: ld returned 1 exit status
> >
> > mingw32-make[1]: *** [debug\miApli.exe] Error 1
> >
> > mingw32-make: *** [debug] Error 2
> >
> > The process "C:/Qt/mingw/bin/mingw32-make.exe" exited with code %2.
> >
> > Error while building project miApli (target: Desktop)
> >
> > When executing build step 'Make'
> >
> >
> > Evidentemente es un problema de rutas y/o dependencias, pero ... ¿puede
> > alguien darme más pistas?. Si lo compilo en linux ubuntu (obviamente
> > cambiando el .pro), no tengo problemas y lo compila bien.
> > En windows no he utilizado el paquete de Osgeo, tengo QT instalado por
> > un lado y QGis por otro, en cualquier caso, no parece quejarse de las
> > librería QT, sino de las librerías QGis.
> >
> > Muchas gracias por la ayuda,
> > Rafa
> Una corazonada, "/" en linux versus "\" windows. Probablemente el make 
> funciona bien en linux porque los paths están bien formado para él, 
> pero al ejecutar el make en windows las "/" de linux, no son 
> interpretados como path correctos en windows.
>
>
> Espero te sirva.
>
>
> un saludo
> -- 
> Mauricio Pazos
> www.axios.es

------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: http://lists.osgeo.org/pipermail/spanish/attachments/20101105/7b74af4d/attachment.html


More information about the Spanish mailing list