Pregunta

Estoy aprendiendo la biblioteca impulso preprocesador (porque tengo que usarlo), y quería probar el mecanismo de archivo de iteración. He creado un proyecto con un mínimo a.cpp y b.hpp. Lo que estoy tratando de hacer es que incluye muchos b.hpp momento a través del impulso pp:

#include <boost/preprocessor/iteration/iterate.hpp>

#define BOOST_PP_ITERATION_LIMITS (0, 5)
#define BOOST_PP_FILENAME_1 "b.hpp"
#include BOOST_PP_ITERATE()

Cuando intento compilar (con -E para ver el resultado de preprocesador):

g++ -E a.cpp > pp_result

Tengo este error:

  

En el archivo incluido de a.cpp:   /usr/local/include/boost/preprocessor/iteration/detail/iter/forward1.hpp:47:37: Error: b.hpp: No existe el fichero o directorio

b.hpp está en el mismo directorio, no puedo ver lo que estoy dooing mal. Parece que la b.hpp g ++ búsquedas en el mismo directorio que forward1.hpp, pero a raíz de la documentación impulso mi código debe trabajar (mi versión impulso es de 1.44).

¿Alguien experimentado el mismo problema?

¿Fue útil?

Solución

Sí, es necesario agregar -I. a la línea de comandos con el fin de hacer que funcione. Esto se suma al directorio que comenzó gcc en la ruta de búsqueda, lo que permite que el compilador para encontrar el b.hpp archivo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top