Я изучаю библиотеку препроцессора boost (потому что мне нужно ее использовать), и я хотел попробовать механизм итерации файла.Я создал минимальный проект с a.cpp и b.hpp.То, что я пытаюсь сделать, это включить много времени b.hpp через повышение 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()
Когда я пытаюсь скомпилировать (с -E, чтобы увидеть результат препроцессора):
g++ -E a.cpp > pp_result
Я получил эту ошибку:
В файле, включенном в a.cpp: /usr/local/include/boost/preprocessor/iteration/detail/iter/forward1.hpp:47:37:ошибка: b.hpp: нет такого файла или каталога
b.hpp находится в том же каталоге, я не вижу, что я ошибаюсь.Кажется, g ++ ищет b.hpp в том же каталоге, что и forward1.hpp, но, следуя документации Boost, мой код должен работать (моя версия Boost 1.44).
Кто-нибудь сталкивался с такой же проблемой?