h1

C++ y Boost.Filesystem: error «undefined reference to status_api»

11/11/2009

Revisión técnica (octubre de 2026): Una referencia indefinida durante el enlazado suele requerir revisar las bibliotecas enlazadas y su compatibilidad ABI. Comprueba las opciones reales del enlazador, que cabeceras y bibliotecas Boost pertenezcan a versiones compatibles, y el orden de los parámetros. En proyectos antiguos, añadir -lboost_filesystem puede formar parte de la solución, pero no garantiza que baste en todos los casos.

Se conserva debajo el artículo original como referencia histórica.


Si al compilar un proyecto c++ que utilice las librerías Boost en Eclipse se produce el siguiente error:

Type undefined reference to boost::filesystem::detail::status_api

o de forma extendida:
Description Resource Path Location Type
undefined reference to `boost::filesystem::detail::status_api(std::basic_string<char, std::char_traits, std::allocator > const&, int&)' Indect3 line 279, external location: /usr/include/boost/filesystem/operations.hpp C/C++ Problem

Se solucionan incluyendo en el linker la librería “boost_filesystem″. En el caso de Eclipse:

Para solucionarlo es necesario ir al siguiente menú:
Propiedades del proyecto > C/C++ Build > Settings > GCC C++ Linker > Libraries > "Libraries (-l)"
y añadir esta referencia:
boost_filesystem

Fuente: Ferdy Christant

Deja una respuesta

Este sitio utiliza Akismet para reducir el spam. Conoce cómo se procesan los datos de tus comentarios.