我刚刚开始在我的嵌入式环境中使用 boost。我更改了一个向量以使用 ptr_vector 并且代码编译和测试都很好。我用了:
#include <boost/ptr_container/ptr_vector.hpp>
然后我去 lint 文件(使用 Gimpel 的 PC Lint),我得到一个奇怪的错误:
#... mpl/aux_/preprocessed/plain/.hpp)
# include BOOST_PP_STRINGIZE(boost/mpl/aux_/preprocessed/AUX778076_PREPROCESSED_HEADER)
LINT Error: C:\SW_DEV\boost_1_51_0\boost\mpl\aux_\include_preprocessed.hpp:37
322 Unable to open include file 'boost\mpl\aux_\preprocessed\plain\.hpp'
该目录存在,但当然没有名为.hpp
. 我不确定 BOOST_PP_STRINGIZE 或 AUX778076_PREPROCESSED_HEADER 是什么,或者我是否必须执行一些特殊的安装步骤。我主要计划处理只是 .hpp 的部分。我刚刚下载了 boost 并将它放在我的硬盘上,然后告诉 Eclipse 项目在哪里可以找到根 boost 包含目录。(我确实也告诉了 lint 关于 boost 目录的根目录)。
编辑
我尝试使用 linting 文件#include <boost/scoped_ptr.hpp>
并且它有效,所以它看起来确实是包含文件特定的。我更新了帖子标题以反映这一点。