[Kde-devel-es] compilar umbrello
Ignacio Cárdenas
kde-devel-es@mail.kde.org
Thu, 27 Feb 2003 08:54:39 +0100
Hola!
> Estoy intentando compilar el umbrello y me dice que no ecuentra las
> Qt. (si alguien tiene el paquete para testing/i386.deb me hace un favor).
Pues no lo tengo... pero intentaré ayudar de todos modos ;-)
> El error es:
>
> tmp/cc0w95KK.o(.text+0xe): In function `main':
> : undefined reference to `QString::null'
>
> /tmp/cc0w95KK.o(.text+0x13): In function `main':
> : undefined reference to `QStyleFactory::create(QString const&)'
>
> /tmp/cc0w95KK.o(.text+0x20): In function `main':
>
> Vamos, que peta al linkar. La linea que usa el configure para compilar
> es:
>
> g++ -o conftest -O2 -fno-exceptions -fno-check-new -I/usr/include/qt
> -I/usr/X11R6/include -DQT_THREAD_SUPPORT -D_REENTRANT -L/usr/lib
> -L/usr/X11R6/lib conftest.cc -lqt-mt -lpng -lz -lm -ljpeg -ldl
> -lXext -lX11 -lSM -lICE -lresolv -lpthread 1>&5
>
> libqt-mt esta en /usr/lib, que esta puesto como parametro. Tengo
> instalado los paquetes pertinenes de libqt3-dev, libqt3-mt-dev y
Ese tipo de error que obtienes puede suceder por dos motivos (que yo sepa):
-No has enlazado con las Qt (no parece ser tu caso)
-Las versiones de Qt y umbrello están compiladas con versiones de gcc
distintas.
Dado que los enlaces a las Qt parecen estar bien, no se me ocurre más que lo
segundo... Quiero decir que la versión de gcc que usas para compilar umbrello
es distinta a la que se usó para compilar libqt3-mt.
Intenta compilar este programa (escríbelo en un fichero llamado 'prueba.cpp'):
#include <qapplication.h>
#include <qpushbutton.h>
int main( int argc, char **argv )
{
QApplication a( argc, argv );
QPushButton *hello=new QPushButton( "Hello world!", 0 );
hello->resize( 100, 30 );
QObject::connect( hello, SIGNAL(clicked()), &a, SLOT(quit()) );
a.setMainWidget( hello );
hello->show();
return a.exec();
}
usando este comando:
g++ -L/usr/lib -I/usr/include/qt prueba.cpp -o prueba -lqt-mt
Si funciona, entonces tus librería están bien y el umbrello no debería dar ese
error... Si no funciona, estonces debería pensar en actualizar el compilador:
si tienes gcc2 (creo que será el caso) pásate a gcc3. Y tranquilo, que puedes
tener dos versiones del gcc instaladas sin ningún problema :-)
> libqt3-mt. El linker se queja de que puede encontrar problemas a linkar
> libpng, por que Qt esta enlazada con la version 3 y yo uso la 2, pero en
> testing no existe el paquete de desarrollo para la libpng 3.
El caso es que tienes instalado el paquete libpng2-dev (librerías png
antiguas, pero gcc las usa al compilar). El paquete con las cabeceras de las
libpng3 es 'libpng-dev'. Instala ese y luego desinstala libpng2-dev, verás
como ya no te da problemas ;-)
Un saludo,
Ignacio.
--
"La capacidad de decidir por nosotros mismos es la única libertad que
realmente tenemos... Usa esa libertad."
========================
//->Ignacio Cárdenas Díaz<-//
========================
iakynet@eresmas.com
Linux user #286387 -- http://counter.li.org
----------------------------------
Dpto. Lenguajes y Sistemas Informáticos, UNED.
icardenas@bec.uned.es
http://www.lsi.uned.es
----------------------------------