Al compilar la librería qserialdevice, versión 0.2, me aparece el siguiente error:
$ qmakeBuildExamples.pro
$ make
nativeserialengine_unix.cpp:(.text+0xac9): undefined reference to
qt_safe_select(int, fd_set*, fd_set*, fd_set*, timeval const*)'
collect2: ld returned 1 exit status
make: *** [reader] Error 1
Luego de comunicarme con el creador de esta librería, él me indicó que el problema se debía a que la librería esta hecha para Qt 4.6 y yo tengo la 4.5.3. Para solucionar esto me dijo que tenía que cambiar el nombre de la función qt_safe_select por select, en el archivo nativeserialengine_unix.cpp y compilar nuevamente la libreria de la forma integrada.
Ahora todo funciona bien. Al momento de compilar un nuevo proyecto le debo ingresar los siguientes instrucciones al archivo .pro del proyecto:
#QSERIALDEVICE
OBJECTS_DIR = ../qserialdevice/build/bin/reader/obj
MOC_DIR = ../qserialdevice/build/bin/reader/moc
DEPENDDIR = .
INCLUDEDIR = .
INCLUDEPATH += ../qserialdevice
INCLUDEPATH += ../qserialdevice/qserialdevice
LIBS += -lqserialdevice
QMAKE_LIBDIR += ../qserialdevice/build/lib/qintegratedserialdevice/release
Todas estas instrucciones deben hacer referencia a el lugar donde se encuentra el directorio donde estan las librerias.
Ojalá les sirva esta información.
No hay comentarios:
Publicar un comentario