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

Fel*_*lix 2 c++ qt slot qt5

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

.../sc_containers.h:667: error: expected unqualified-id before ';' token
   sc_array_t         *slots;
                            ^
Run Code Online (Sandbox Code Playgroud)

我成功地在包括非QT项目相同的库之前,所以我认为这个错误与Qt所使用的事实,slots作为一个特殊的关键字(见这里 Qt的文档).

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

提前致谢!

ale*_*ria 10

添加QT_NO_KEYWORDS(-DQT_NO_KEYWORDS)定义到您的构建将防止从Qt的定义foreach,signals,slots这可能与其他框架碰撞.

相关回答:

相关文档:

  • 替代方式:.pro文件中的`CONFIG + = no_keywords`. (2认同)