我有一个难题。在我使用 Qt 编写的程序中,我使用了一个(非 Qt)库,该库在其标题中使用 Qt 关键字作为名称(确切地说,库是 pf_ring,名称为“slots”),所以我得到编译错误。但是如果我使用 no_keywords 选项关闭 Qt 关键字,编译器会抱怨另一个库的头文件(这个基于 Qt 的)使用 Qt 关键字,如“信号”和“插槽”。
那么我该如何解决这个问题呢?我只能想到两个都不是很令人满意的选择:
我可以更改第二个库的头文件,使它们符合 no_keywords 模式(将“插槽”更改为“Q_SLOTS”等等)。
我可以将 pf_ring 相关代码移动到它自己的子项目中,我可以在其中关闭 Qt 关键字或根本不使用 Qt。
您能否提出另一种希望更优雅、更省事的解决方案?