C++、Qt:包含的外部库中名为 "slots" 的变量

C++, Qt: Variable named "slots" in included external library

我正在使用 Qt 编写包含外部库的桌面应用程序。问题是我在包含外部库时出错:

.../sc_containers.h:667: error: expected unqualified-id before ';' token
   sc_array_t         *slots;
                            ^

我之前在一个非qt项目中成功地包含了同一个库,所以我假设这个错误与Qt使用slots作为特殊关键字有关(见here Qt 文档)。

有没有一种方法可以在我的程序中使用该外部库?由于这不是我自己的库,因此将变量名更改为其他名称并不是一个真正的选择。

提前致谢!

在您的构建中添加 QT_NO_KEYWORDS (-DQT_NO_KEYWORDS) 定义将阻止 Qt 定义 foreachsignalsslots,这可能会与其他框架发生冲突.

相关回答:

  • CDK Collides With Qt "signals"

相关文档: