BOOST_PP_ITERATE()导致“没有这样的文件或目录”
-
26-09-2019 - |
题
我学习升压预处理器库(因为我需要使用它),我想尝试的文件迭代机制。我已经设置了a.cpp和b.hpp最小的项目。我正在试图做的是包括通过升压PP很多时间b.hpp:
#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是在同一目录下,我什么也看不见,我dooing错了。这似乎在同一个目录中forward1.hpp的G ++搜索b.hpp,但Boost文档我的代码应该工作如下(我增压版本是1.44)。
是否有人经历了同样的问题?
解决方案
是的,你需要在-I.
为了使工作添加到命令行。这增加了该目录,你到包括搜索路径开始GCC,让编译器找到该文件b.hpp
。
不隶属于 StackOverflow