我的项目使用Qt(包含Qwt)和Boost ::信号。众所周知,它们的宏是互不兼容的。我使用CONFIG += no_keywords
编译了我的项目,并将所有Qt宏命名为大写注册表,即signals = Q_SIGNALS
。有项目没有更多的错误,但现在我有错误,在QWT包括这样Qwt和boost :: signals
/usr/include/qwtplot3d/qwt3d_extglwidget.h:101:1: error: ‘signals’ does not name a type /usr/include/qwtplot3d/qwt3d_extglwidget.h:116:8: error: expected ‘:’ before ‘slots’ /usr/include/qwtplot3d/qwt3d_extglwidget.h:116:8: error: ‘slots’ does not name a type
似乎QWT仍与升压::信号冲突。我能在这里做什么?
你是指较旧的Boost.Signals或Boost.Signals2?我用Qt使用后者,并没有遇到任何问题。 –
是的,我使用旧版本的Boost :: signals 1.46和Qt 4.7.4 – SandyEmerald
考虑转向Boost.Signals2。它没有上述问题,并提供更好的时隙跟踪机制。 –