当我在 Win 7/x86 系统(Qt 5.1)上创建 DBus 接口/适配器时qdbusxml2cpp
,我面临以下问题:只要我包含MyAdaptor.h
(或MyInterface.h
)以某种方式objbase.h
包含(来自生成的代码)。
那里的定义#define interface __STRUCT__
似乎会导致许多编译错误,例如:
connection.interface()->isServiceRegistered // interface !!!
实际上无处不在,它在哪里找到“接口”,甚至不是在我的代码中,而是在 Qt 代码中,例如
QDBusInterface(const QString &service, const QString &path, const QString &interface
在我尝试过的代码中#undef interface
,它解决了编译错误(迄今为止忽略了副作用)。但这不是外部代码的解决方案。
知道我做错了什么吗?