【发布时间】:2015-07-10 16:58:01
【问题描述】:
我使用的是 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_fwd.hpp 和foreach.hpp。
我尝试在项目文件(.pro) 中包含CONFIG += no_keywords。但我仍然收到此错误。不知道是什么原因。
【问题讨论】:
-
您是否定义了一个名为
foreach并扩展为Q_FOREACH的宏? -
在 CONFIG 中添加 no_keywords 后是否重新运行了 qmake?
-
@MrEricSir:谢谢。我不再收到该错误,但我收到了一个新错误
error: expected ‘:’ before ‘slots’;error: ‘slots’ does not name a typeerror: ‘signals’ does not name a type我尝试关注此link。并且上面的错误消失了。现在我遇到了奇怪的错误。 -
如果您有新问题,要做的就是打开一个新问题。
标签: c++ qt boost boost-multi-index