0

我刚刚开始在我的嵌入式环境中使用 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>并且它有效,所以它看起来确实是包含文件特定的。我更新了帖子标题以反映这一点。

4

1 回答 1

0

AFAIR,它是根据编译器从 boost\mpl\aux_\preprocessed 中选择要包含的文件。所以请参考Gimpel 文档如何配置 pclint 来模仿 gcc 编译器。

于 2012-09-06T11:18:50.330 回答