今天写代码,无缘无故就给我整个这个错误出来,我一头雾水。
经过我几个小时的奋战,终于解决问题
原因就是这个Q_INTERFACES()宏,我本想使用Q_DECLARE_INTERFACE Q_INTERFACES这两个Qt宏实现不继承QObject也能使用qobject_cast<xxx*>()函数。
但是没想到的是给我带来了很大的麻烦
由于我在写好这个抽象类后将其移动了文件位置,导致原本头文件引用变错(就是对应Q_DECLARE_INTERFACE 的这个头文件)。后果就是所有的Qt头文件包含失败,无法找到头文件,且解决方案报错: 配置“Debug|x64”的 Designtime 生成失败。IntelliSense 可能不可用。
解决办法:
将Q_DECLARE_INTERFACE这个头文件的包含路径写正确,然后重新扫描文件、重新扫描方案即可!