h1

Gcc error: “Description Resource Path Location Type changes meaning” y “Type declaration of”

23/11/2009

Compilando un proyecto con las librerías Boost se pueden producir  simultaneamente los siguientes errores:

Description    Resource    Path    Location    Type changes meaning of ‘special_values_parser’ from ‘class boost::date_time::special_values_parser<date_type, charT>’ MyProject line 34, external location: /usr/include/boost/date_time/special_values_parser.hpp   C/C++ Problem

Description    Resource    Path    Location    Type declaration of ‘void boost::date_time::date_input_facet<date_type, CharT, InItrT>::special_values_parser(boost::date_time::special_values_parser<date_type, charT>)’    MyProject   line 560, external location: /usr/include/boost/date_time/date_facet.hpp    C/C++ Problem


Son debidos a un cambio de versión de GCC. Por tanto, las soluciones serían:

Solución #1)

Como workaround, añadir el parámetro “-fpermissive” en la compilación para convertir este tipo de errores en warnings.

Solución #2) RECOMENDADA

Aunque resulte evidente, lo más conveniente es arreglar el código para cumplir la normativa de GCC, según se indica en el apartado GCC Name lookup changes. En el caso de Boost, basta con actualizar las librerías Boost a la versión 1.40 o posterior (aunque puede que el bug se halla solucionado en previas versiones). En el caso de Debian/Ubuntu se pueden localizar los paquetes aquí ó en el siguiente repositorio:

deb http://ftp.de.debian.org/debian sid main

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: