
Gcc error: «Description Resource Path Location Type changes meaning» y «Type declaration of»
23/11/2009Compilando 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
Deja una respuesta