C++ 错误:‘;boost:Q#u FOREACH’;尚未申报

C++ 错误:‘;boost:Q#u FOREACH’;尚未申报,c++,qt,boost,boost-multi-index,C++,Qt,Boost,Boost Multi Index,我使用的是boost 1.54和Qt版本5.2.1 当我尝试构建包时,出现以下错误 /usr/include/boost/multi_index/sequenced_index.hpp:927:10: error: 'boost::Q_FOREACH’ has not been declared boost::foreach::tag ^ /usr/include/boost/multi_index/ordered_index.hpp:1399:10: error: ‘boo

我使用的是boost 1.54和Qt版本5.2.1

当我尝试构建包时,出现以下错误

/usr/include/boost/multi_index/sequenced_index.hpp:927:10: error: 'boost::Q_FOREACH’ has not been declared
 boost::foreach::tag
        ^

/usr/include/boost/multi_index/ordered_index.hpp:1399:10: error: ‘boost::Q_FOREACH’ has not been declared
 boost::foreach::tag)
    ^
检查了
sequenced_index.hpp
ordered_index.hpp
中的标题,它们都包含
foreach\u fwd.hpp
foreach.hpp

我尝试在项目文件
(.pro)
中包含
CONFIG+=no_关键字。但我还是犯了这个错误。我不确定原因是什么。

请记录在案,这个问题是针对即将发布的Boost 1.60版本的,因此您可以让Qt定义宏
foreach

您是否定义了一个名为
foreach
的宏,该宏扩展到
Q\u foreach
?在配置中没有添加关键字后是否重新运行了qmake?@MrEricSir:谢谢。我不再得到那个错误了,但我得到了一个新的错误
error:expected':'在'slots'之前
错误:“插槽”未命名类型
错误:“信号”未命名类型
我尝试了以下操作。上面的错误消失了。现在我犯了一些奇怪的错误。如果你有一个新问题,你要做的就是打开一个新问题。