自己用VS 2017 + Qt 5.14.1 + qt-vsaddin-msvc2017-2.4.1-rev.12.vsix 编写的工程编译时,报如下警告:
Note: No relevant classes found. No output generated
然后生成的moc开头的文件都是空的,即0 KB,然后报一堆:metaObject连接错误
以下是网友说的解决方法:
QT文件的编码和VS内原工程编码不一致。QT文件是Unicode的一种,而VS原工程为 GB2312。
解决办法:
用VS的“高级保存选项”功能将 QT复制过来的文件 更改编码为 GB2312,重新编译;
发现 moc_***.cpp 中出现代码,且代码正常;
问题解决。
以下是另一个解决方法:Note:Norelevantclassesfound.Nooutputgenerated._湖北荆楚闲人_新浪博客
这两种方法都没解决我的问题,后来发现是工程目录路径中含有中文,将中文目录改为英文,然后全部删除生成的moc开头的文件,重新编译工程,问题解决。
本文探讨了在使用VS2017、Qt5.14.1和特定插件编译工程时遇到的警告问题,重点在于中文路径导致的编译难题,以及如何通过修改编码和清理MOC文件来解决。
2156

被折叠的 条评论
为什么被折叠?



