失踪 ';'在使用boost 1.4.2的命名空间之前

时间:2010-03-23 13:33:47

标签: c++ visual-studio-2008 boost

致力于将一些C ++代码从Linux迁移到Windows。该代码使用boost 1.4.2,但它仍然无法构建升压模块。基本上,每个boost hpp文件恰好包含“namespace boost”错误:

error C2143: syntax error : missing ';' before 'namespace' 

知道可能导致这种情况的原因吗?

2 个答案:

答案 0 :(得分:5)

在包含Boost标头之前丢失;可能是原因造成的。以下代码产生此类错误:

struct X {}  // << ; lost here

#include <boost/shared_ptr.hpp>

这个小代码给出了以下错误:

boost/config/suffix.hpp(460) : error C2143: syntax error : missing ';' before 'namespace'

答案 1 :(得分:0)

您是否尝试在第一行包含这些提升标题?如果他们以这种方式编译好,那么在他们之前包含的一个标题中可能缺少;