Qt / C++常见小问题汇总(一)
来源:互联网 发布:linux进入grub界面 编辑:程序博客网 时间:2024/06/06 02:02
一、简述
时隔两个月后的第一篇文章。
在日常Coding中可能会遇到各种问题,但是遇到之后解决了并没有及时的记录,导致再次遇到相同或者类似问题时再次懵逼,所以记录下这些问题还是很有帮助的。今天就简单讲述两个常见的小问题,以及解决方案。以此开篇Qt/C++常见小问题汇总系列.
问题列表
问题一:
No relevant classes found. No output generated.
问题二
There’s no Qt version assigned to this project for platform Win32.
二、问题解析
问题一、No relevant classes found. No output generated.
当我们在用VS编译程序时,VS输出栏目中出现了上方的提示,说明你的文件格式有问题,可能会导致你编译不过。下面就给一个小示例看一下效果。
一般情况下我们新建一个继承QObject的Qt类,都会附带 Q_OBJECT 宏定义,这个宏定义非常重要,对于这个宏定义具体代表什么意思,大家可以百度一下。加上Q_OBJECT 宏定义之后,Qt会自动生成moc_ClassName.cpp文件(这里也不在解释这个文件的具体作用,大家可以自行百度)。我们可以看到下图中的moc_MyWidget.cpp,在程序未编译之前,这个文件其实并不存在。
我们双击这个文件,VS提示如下:
项目目录下也没有这个文件。
我们开始编译该工程,然后moc_mywidget.cpp,显示如下,这个文件的内容就是Qt元对象的编译器生成的。这里写了这么多,并未发现任何问题。
我们改变mywidget.h的编码格式,点击确定并保存。然后重新编译。
这里截取出编译输出。
很明显,我们看到了这条编译输出语句,没有找到相关的类,没有文件生成。
mywidget.h(0): Note: No relevant classes found. No output generated.
我们再次双击moc_mywidget.cpp文件,发现这里面空空如也,也就是说我们修改了mywidget.h的编码格式导致未生成正确的moc_mywidget.cpp文件。
上面是我主动修改了编码格式导致编译失败。一般情况下,我们可能会从其他地方附加一个类的.h和.cpp文件,如果这个.h文件的编码格式是有问题的,就会导致如上的错误,那么我们可以看一下我们项目中其他文件是什么编码格式的,或者重新添加一个Qt类,然后查看新建类.h文件的编码格式,然后将有问题的文件统一编码格式就可以了。
点击高级保存选项修改文件的编码格式。
修改为正确的编码格式。
问题二、There’s no Qt version assigned to this project
对于这个问题,我们可以检查如下两个配置是否设置正确。
(1)Qt Options
(2)Qt Project Settings
- Qt / C++常见小问题汇总(一)
- Qt / C++常见小问题汇总(二)
- Qt / C++常见小问题汇总
- LINUX常见小问题汇总
- Python 编程小问题汇总(一)
- [PHP] php中常见小问题汇总
- QT 常见错误汇总
- C++/C中常见小问题总结
- QT 编译中常见的一些问题与解决方案汇总
- 问题汇总(一)
- 10个iPad Air常见小问题及解决方法汇总
- ECshop商城程序常见的96个小问题汇总
- ECshop商城程序常见的96个小问题汇总
- Qt项目中遇到的一些小问题汇总
- Qt项目中遇到的一些小问题汇总
- Qt项目中遇到的一些 小问题汇总
- Qt项目中遇到的一些小问题汇总
- 小问题 汇总(不断更新)
- Socket通信——Linux下,TCP协议
- ra_serf: The server sent a truncated HTTP response body.
- 极光消息推送及角标实现,附带完整demo
- 目标检测的图像特征提取之(一)HOG特征
- Python做手写数字识别
- Qt / C++常见小问题汇总(一)
- antd Table中显示图片
- ERROR 1862 (HY000): Your password has expired. To log in you must change it using a client that supp
- 跨域
- HTML元素居中的几种办法
- SpringMVC重要注解(一)@ExceptionHandler和@ResponseStatus
- 存储器的几种体系结构
- 我也说说Emacs吧(7)
- Java Enum 枚举详解