<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html; charset=ISO-8859-15"
http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
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.<br>
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.<br>
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++.<br>
<br>
Un saludo,<br>
Rafa<br>
<br>
<br>
El 05/11/2010 13:48, Mauricio Pazos escribió:
<blockquote cite="mid:201011051348.53259.mauricio.pazos@axios.es"
type="cite">
<meta name="qrichtext" content="1">
<style type="text/css">p, li { white-space: pre-wrap; }</style>On
Friday 05 November 2010 09:49:46 am <a class="moz-txt-link-abbreviated" href="mailto:rafael.mejias@sinfogeo.com">rafael.mejias@sinfogeo.com</a>
wrote:<br>
> Buenos días,<br>
> estoy desarrollando una aplicación c++ de QGis en windows xp
con QT, y<br>
> este es mi fichero .pro (es un poco raro pero es que he
probado de todo):<br>
> TEMPLATE = app<br>
><br>
> QT += core \<br>
><br>
> gui \<br>
><br>
> sql \<br>
><br>
> xml<br>
><br>
> INCLUDEPATH += "C:/Archivos de programa/Quantum GIS<br>
> Tethys/apps/qgis/include" \<br>
><br>
> "C:/Archivos de programa/Quantum GIS Tethys/include" \<br>
><br>
> "C:/Archivos de programa/Quantum GIS
Tethys/apps/gdal-16/include" \<br>
><br>
> "C:/Archivos de programa/Quantum GIS
Tethys/apps/Python25/include" \<br>
><br>
> "C:/Archivos de programa/Quantum GIS<br>
> Tethys/apps/grass/grass-6.4.0svn/include" \<br>
><br>
> "C:/Archivos de programa/Quantum GIS<br>
> Tethys/apps/Python25/Lib/site-packages/win32/include" \<br>
><br>
> win32:LIBS += "C:/Archivos de programa/Quantum GIS<br>
> Tethys/apps/qgis/lib/qgis_core.lib" \<br>
><br>
> "C:/Archivos de programa/Quantum GIS
Tethys/apps/qgis/lib/qgis_gui.lib" \<br>
><br>
> -L "C:/Archivos de programa/Quantum GIS Tethys/bin" \<br>
><br>
> -L "C:/Archivos de programa/Quantum GIS Tethys/apps/gdal-16"
\<br>
><br>
> -L "C:/Archivos de programa/Quantum GIS Tethys/apps/msys"<br>
><br>
> SOURCES += main.cpp\<br>
><br>
> mainwindow.cpp<br>
><br>
> HEADERS += mainwindow.h<br>
><br>
> FORMS += mainwindow.ui<br>
><br>
> DEFINES += GUI_EXPORT= CORE_EXPORT=<br>
><br>
><br>
> pero al compilar, tengo esta lista de errores:<br>
> debug/main.o: In function `Z5qMainiPPc':<br>
><br>
> C:\rafa\QT\miApli-build-desktop/../miApli/main.cpp:32:
undefined<br>
> reference to `QgsApplication::QgsApplication(int&,
char**, bool)'<br>
><br>
> C:\rafa\QT\miApli-build-desktop/../miApli/main.cpp:39:
undefined<br>
> reference to `QgsProviderRegistry::instance(QString)'<br>
><br>
> C:\rafa\QT\miApli-build-desktop/../miApli/main.cpp:42:
undefined<br>
> reference to `QgsVectorLayer::QgsVectorLayer(QString,
QString, QString,<br>
> bool)'<br>
><br>
> C:\rafa\QT\miApli-build-desktop/../miApli/main.cpp:45:
undefined<br>
> reference to `QgsVectorLayer::geometryType() const'<br>
><br>
> C:\rafa\QT\miApli-build-desktop/../miApli/main.cpp:45:
undefined<br>
> reference to<br>
>
`QgsSingleSymbolRenderer::QgsSingleSymbolRenderer(QGis::GeometryType)'<br>
><br>
> C:\rafa\QT\miApli-build-desktop/../miApli/main.cpp:47:
undefined<br>
> reference to `QgsVectorLayer::setRenderer(QgsRenderer*)'<br>
><br>
> C:\rafa\QT\miApli-build-desktop/../miApli/main.cpp:48:
undefined<br>
> reference to `QgsMapLayer::isValid()'<br>
><br>
> C:\rafa\QT\miApli-build-desktop/../miApli/main.cpp:57:
undefined<br>
> reference to `QgsMapLayerRegistry::instance()'<br>
><br>
> C:\rafa\QT\miApli-build-desktop/../miApli/main.cpp:57:
undefined<br>
> reference to `QgsMapLayerRegistry::addMapLayer(QgsMapLayer*,
bool)'<br>
><br>
> C:\rafa\QT\miApli-build-desktop/../miApli/main.cpp:62:
undefined<br>
> reference to `QgsMapCanvas::QgsMapCanvas(QWidget*, char
const*)'<br>
><br>
> C:\rafa\QT\miApli-build-desktop/../miApli/main.cpp:63:
undefined<br>
> reference to `QgsMapLayer::extent() const'<br>
><br>
> C:\rafa\QT\miApli-build-desktop/../miApli/main.cpp:63:
undefined<br>
> reference to `QgsMapCanvas::setExtent(QgsRectangle
const&)'<br>
><br>
> C:\rafa\QT\miApli-build-desktop/../miApli/main.cpp:64:
undefined<br>
> reference to `QgsMapCanvas::enableAntiAliasing(bool)'<br>
><br>
> C:\rafa\QT\miApli-build-desktop/../miApli/main.cpp:66:
undefined<br>
> reference to `QgsMapCanvas::freeze(bool)'<br>
><br>
> C:\rafa\QT\miApli-build-desktop/../miApli/main.cpp:68:
undefined<br>
> reference to
`QgsMapCanvas::setLayerSet(QList<QgsMapCanvasLayer>&)'<br>
><br>
> C:\rafa\QT\miApli-build-desktop/../miApli/main.cpp:70:
undefined<br>
> reference to `QgsMapCanvas::refresh()'<br>
><br>
> C:\rafa\QT\miApli-build-desktop/../miApli/main.cpp:73:
undefined<br>
> reference to `QgsApplication::~QgsApplication()'<br>
><br>
> C:\rafa\QT\miApli-build-desktop/../miApli/main.cpp:73:
undefined<br>
> reference to `QgsApplication::~QgsApplication()'<br>
><br>
>
c:/qt/mingw/bin/../lib/gcc/mingw32/4.4.0/../../../libmingwex.a(pformat.o):p<br>
>format.c:(.text+0x166d): undefined reference to
`_get_output_format'<br>
><br>
> collect2: ld returned 1 exit status<br>
><br>
> mingw32-make[1]: *** [debug\miApli.exe] Error 1<br>
><br>
> mingw32-make: *** [debug] Error 2<br>
><br>
> The process "C:/Qt/mingw/bin/mingw32-make.exe" exited with
code %2.<br>
><br>
> Error while building project miApli (target: Desktop)<br>
><br>
> When executing build step 'Make'<br>
><br>
><br>
> Evidentemente es un problema de rutas y/o dependencias, pero
... ¿puede<br>
> alguien darme más pistas?. Si lo compilo en linux ubuntu
(obviamente<br>
> cambiando el .pro), no tengo problemas y lo compila bien.<br>
> En windows no he utilizado el paquete de Osgeo, tengo QT
instalado por<br>
> un lado y QGis por otro, en cualquier caso, no parece
quejarse de las<br>
> librería QT, sino de las librerías QGis.<br>
><br>
> Muchas gracias por la ayuda,<br>
> Rafa<br>
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.<br>
<p style="margin: 0px; text-indent: 0px;"><br>
</p>
Espero te sirva. <br>
<p style="margin: 0px; text-indent: 0px;"><br>
</p>
un saludo <br>
-- <br>
Mauricio Pazos<br>
<a class="moz-txt-link-abbreviated" href="http://www.axios.es">www.axios.es</a></blockquote>
<br>
</body>
</html>