1
我学习升压预处理器库(因为我需要使用它),我想尝试的文件迭代机制。我用a.cpp和b.hpp设置了一个最小的项目。我正在试图做的是包括通过升压PP很多时间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
我得到这个错误:
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 ++在与forward1.hpp相同的目录中搜索b.hpp,但在boost文档之后,我的代码应该可以工作(我的boost版本是1.44)。
有谁经历过同样的问题?
做一个简单的'#包括 “b.hpp”'工作? – 2010-09-29 22:30:34
是的。我发现了一个workaroud,使用g ++命令-L./,但由于该文件包含“”,而不是< >这仍然是陌生的。 – neodelphi 2010-09-30 06:09:08