Я изучаю библиотеку препроцессора boost (потому что мне нужно ее использовать), и я хотел попробовать механизм итерации файла. Я установил минимальный проект с a.cpp и b.hpp. То, что я пытаюсь сделать, это в том числе много времени b.hpp через повышающий С.:BOOST_PP_ITERATE() приводит к «нет такого файла или каталога»
#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
I получил эту ошибку:
In file included from a.cpp: /usr/local/include/boost/preprocessor/iteration/detail/iter/forward1.hpp:47:37: error: b.hpp: No such file or directory
b.hpp находится в том же каталоге, я не могу видеть, что я dooing неправильно. Похоже, что g ++ ищет b.hpp в том же каталоге, что и forward1.hpp, но после загрузки документа мой код должен работать (моя версия boost 1.44).
Есть ли у кого-то такая же проблема?
Работает ли простой '#include" b.hpp "? –
Да, да. Я нашел workaroud, используя -L./ в команде g ++, но это все еще странно, поскольку файл включен в «", а не < >. – neodelphi