Estoy tratando de usar sistema de ficheros. He -std=c++11 -std=c++1y en mi CMakeLists.txt. La versión de GCC es 4.9.2. Sin embargo, tengo un error:

/home/loom/MyProject/src/main.cpp:5:35: fatal error: experimental/filesystem: No such file or directory
 #include <experimental/filesystem>
                                   ^
compilation terminated.

¿Cuál es la forma correcta de utilizar los std::experimental::filesystem?

InformationsquelleAutor Loom | 2015-05-07

1 Comentario

  1. 26

    Si nos fijamos en la libstdc++ estado vemos que no tienen soporte para el Sistema de Archivos TS:

    De Papel | Título | Estado

    ……..

    N4100 | Sistema De Archivos | Y

    pero dice:

    Esta página describe el C++14 y biblioteca TS apoyo en la corriente principal de GCC SVN, no en ninguna versión en particular.

    y de intentar esto en Wandbox parece que esta biblioteca sólo está disponible en la última rama de desarrollo 6.0 y no puedo encontrar más detalles más allá de eso.

    Actualización

    Actualización de Jonathan Wakely:

    Es ahora disponible también en el gcc-5-rama en la Subversión, y que será incluido en el GCC versión 5.3 de este año.

    También de acuerdo a Jonathan Wakely del respuesta aquí necesitamos para compilar con -lstdc++fs. Esto está cubierto en la La vinculación de la sección de gcc documentos:

    GCC 5.3 incluye una implementación de un sistema de archivo de la biblioteca definida por la especificación técnica ISO/IEC TS 18822:2015. Debido a que este es un experimento de la biblioteca de la extensión, no es parte del estándar de C++, se lleva a cabo en una biblioteca independiente, libstdc++fs.una, y no hay ninguna biblioteca compartida para ello. El uso de la biblioteca que debe incluir y vincular con -lstdc++fs. La implementación de la biblioteca no es completa en la no-las plataformas POSIX, específicamente de soporte técnico de Windows es rudimentario.

    Debido a la naturaleza experimental de un sistema de archivo de la biblioteca de las mismas garantías acerca de ABI estabilidad y compatibilidad con versiones anteriores no se aplican a ella. No hay ninguna garantía de que los componentes en cualquier encabezado serán compatibles entre las diferentes versiones de GCC.

    Ver también En la tabla 3.1. C++ Opciones De Comando.

    • Es ahora disponible también en la gcc-5-branch en la Subversión, y que será incluido en el GCC versión 5.3 de este año.
    • href=»http://stackoverflow.com/q/33149878/1708801″>esta pregunta es una buena pregunta relacionada.

Dejar respuesta

Please enter your comment!
Please enter your name here