Qt宏关键字导致名称冲突

2024-01-08

我正在为我的 Qt 项目构建 NCurses 界面。我想使用 CDK,但我认为signals该结构的成员与 Qt 发生冲突signals关键词。

/usr/include/linux/cdk.h:411: error: expected unqualified-id before 'protected'

如何让 CDK 与 Qt 一起使用?


您可以定义 QT_NO_KEYWORDS 宏,禁用“信号”和“槽”宏。

如果您使用 QMake:

 CONFIG += no_keywords

(Qt 文档在这里 http://qt-project.org/doc/qt-5/signalsandslots.html#using-qt-with-3rd-party-signals-and-slots)

如果您正在使用另一个构建系统,请执行它需要通过的任何操作-DQT_NO_KEYWORDS给编译器。

定义 QT_NO_KEYWORDS 将要求您更改出现的情况signals to Q_SIGNALS and slots to Q_SLOTS在你的 Qt 代码中。

如果您无法更改所有 Qt 代码,例如因为您使用的第三方库不是“关键字干净”的,所以您可以尝试在包含 cdk.h 之前在本地取消定义“信号”:

#undef signals
#include <cdk.h>

如果可能的话,我建议使用 no_keywords ,因为它不那么繁琐且容易出错。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Qt宏关键字导致名称冲突 的相关文章

随机推荐

  • 我应该静态还是动态链接到 Visual Studio C 运行时?

    我读过双方关于在 Visual Studio 项目中应该静态还是动态链接到 C 运行时库的争论 但我仍然不完全确定该怎么想 我的项目引入了一些第三方库 Python HDF5 Trilinos 和 Microsoft MPI 每个库都必须使
  • 调用 free 后内存使用量不会减少

    我有一个使用 C 语言的 WebSocket 服务器 它将作为 Windows 上的后台进程运行 并且此进程将接受包含大图像数据 base64 格式 的请求 每次收到请求时 都会使用 malloc 分配内存 并在请求执行后释放 但当我检查任
  • 将ARFrame捕获的图像转换为UIImage方向问题

    我想检测球并让 AR 模型与其交互 我使用 opencv 进行球检测并发送球中心 我可以在其中使用hitTest获取坐标sceneView 我一直在转换CVPixelBuffer to UIImage使用以下函数 static func c
  • 如何导航到 IntelliJ 中的类型?或者相当于 Eclipse 的 Ctrl + Shift + T 的是什么?

    In Eclipse the Open Type dialog Ctrl Shift T allows you to open any type including those that are in jar dependencies Wh
  • STintersects() 查找交点

    我有两个sql服务器geometry ies 我用来检查它们是否相交 如果他们这样做我需要交叉点 目前我只能得到布尔输出 如果它intersects 1如果它不相交 就会给出 0 有什么方法可以找到两个形状的交集geometry Updat
  • 如何更改 Play Framework 中的模板引擎?

    我如何更改 Play 中的模板引擎 使用与默认引擎不同的引擎 你能给个例子吗 我什至不问你为什么要这样做 很简单 Play即可返回Result您将提供任何内容 因此您可以轻松使用 return ok h1 Code rendered fro
  • Delphi - 线程不以 ActiveX 形式执行 - 但在其他地方执行

    我有一个线程 称为 TAlertThread 线程通过触发事件与其所有者进行交互 例如 当线程内某些数据可用时 它会设置一些临时变量并调用 Synchronize UpdateAlert 后者又会触发相应的事件 现在该线程可以在任何标准 W
  • 签署未签名的程序集

    最近NHibernate 2 1的升级带来了一个非常头疼的情况 到表面 似乎大多数项目默认构建为签名程序集 为了 示例 FluentnHibernate 引用密钥文件 Fluent snk Nhibernate search 构建未签名的内
  • 在逗号、点、连字符或其他特殊字符上断开长无空格行

    我正在尝试在小屏幕 手机 上显示各种文本文本是合理的 但碰巧有一行包含长单词 公式 字符串 不适合 有这样的可能断字 打破所有 但它断线太随意了 我需要一个中间解决方案 如下所示 http jsfiddle net Jsa5t http j
  • 谁使用实时 Java? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我注意到实时Java https en wikipedia org wiki Real time Java2 2 早在 9 月份就发布了 与我上
  • 为什么 WmiPrvSE.exe 持有我的进程作业对象的句柄?

    我有一个 NET 应用程序 它生成多个子 工作进程 我使用 Windows 作业对象 API 和 JOB OBJECT LIMIT KILL ON JOB CLOSE 设置来确保在父进程终止时子进程始终被终止 但是 我观察到在父进程关闭后
  • Docker 容器发布的端口无法访问?

    所以情况是这样的 我有一个使用这个 dockerfile 构建的容器正在运行 FROM python 2 onbuild EXPOSE 8888 CMD nohup mock server dir usr src app 我用这个命令运行它
  • origin/branch_name 和branch_name 之间的区别?

    用于推送到位桶 如果我做 git push origin origin branch name我的提交没有被推送 Total 0 delta 0 reused 0 delta 0 If I do git push origin branch
  • 如何将页面加载到页面中间(而不是顶部)?

    我希望页面在页面中间的某个 div 处打开 而不是在顶部 我有类似的东西 div div div div div div 如何让页面在 d4 而不是顶部打开 除了在 URL 末尾添加 d4 我想一定有一些简单的方法可以做到这一点 但我不知道
  • 如何在 Xamarin.Forms 的 MainPage 上创建动态按钮列表?

    我正在创建一个应用程序来扫描条形码门票 当您启动应用程序时 屏幕上必须显示可用节目的列表 为了获取所有可用的节目 我正在使用一个网络服务 它会返回一个List
  • 使用临时数组作为左值

    这个程序的格式不正确 struct X int i int main X i 1 i 临时的子对象X 不能用作左值 因为X 是一个右值 然而 这会用 GCC 5 2 1 进行静默编译 并且 Wall using Y int 10 int m
  • 替换 Markdown 文本中的占位符(变量)的最简单方法?

    我需要一种开放格式来以通用方式 使用占位符 变量 编写故事 为了使故事具体化 我想设置一个键 值对列表并在发布时应用它们 我还想将样式与内容分开 这样我就可以轻松发布到网络 pdf 等 例子 varname is a great place
  • 从大文件中查找唯一值

    我有一个大文件 比如 10 TB 其中包含 MD5 哈希流 其中包含重复项 我的内存为 10MB 非常有限 硬盘空间不受限制 使用给定条件查找所有唯一的哈希值 消除重复项 请帮忙 这显然不是一个家庭作业问题 您可以使用外部排序算法 例如使用
  • 如何过滤 Room 中的嵌套关​​系?

    让我们举个例子 我有一个表格 其中有几个部分 每个部分都有问题 侧面 我有映射到问题的答案 并且它们还有我想在查询时过滤的另一列 所以我有以下实体 Entity tableName sections public class Section
  • Qt宏关键字导致名称冲突

    我正在为我的 Qt 项目构建 NCurses 界面 我想使用 CDK 但我认为signals该结构的成员与 Qt 发生冲突signals关键词 usr include linux cdk h 411 error expected unqua