Joe*_*man 5 c++ qt ncurses c-preprocessor ncurses-cdk
我正在为我的Qt项目构建一个NCurses接口.我想使用CDK,但我认为这个结构的"信号"成员与Qt"signals"关键字冲突.
/usr/include/linux/cdk.h:411: error: expected unqualified-id before 'protected'
Run Code Online (Sandbox Code Playgroud)
我怎样才能让CDK与Qt一起工作?
Fra*_*eld 11
您可以定义QT_NO_KEYWORDS宏,禁用"信号"和"插槽"宏.
如果你使用QMake:
CONFIG += no_keywords
Run Code Online (Sandbox Code Playgroud)
(Qt文档在这里)
如果您正在使用其他构建系统,请执行将其传递-DQT_NO_KEYWORDS
给编译器所需的任何内容.
定义QT_NO_KEYWORDS将要求您更改Qt代码中的signals
to Q_SIGNALS
和slots
to的出现次数Q_SLOTS
.
如果您无法更改所有Qt代码,例如因为您使用的第三方库不是"关键字清理",您可以尝试在包含cdk.h之前在本地取消定义"信号":
#undef signals
#include <cdk.h>
Run Code Online (Sandbox Code Playgroud)
我建议尽可能使用no_keywords,因为它不那么乏味且容易出错.
归档时间: |
|
查看次数: |
1739 次 |
最近记录: |