包含头文件路径引发的编译错误 Note: No relevant classes found. No output generated.

包含头文件路径引发的编译错误 Note: No relevant classes found. No output generated.

1:使用VS2015编译QT项目的时候报错

头文件sensorcalibrationdia.h头部内容
在这里插入图片描述
报错如下

mainwindow.h(0): Note: No relevant classes found. No output generated.
1>mainwindow.obj : error LNK2001: 无法解析的外部符号 "public: virtual struct QMetaObject const * __thiscall MainWindow::metaObject(void)const " (?metaObject@MainWindow@@UBEPBUQMetaObject@@XZ)

2:百度关键词后,按照编码问题处理无法解决

按照百度的答案,解决不了问题

网上搜了搜都解决不了,后来发现警告中mainwindow.h(0):后面用括号括起来的0,难道是文件第一个字节问题?于是发现了问题:
该文件是我从Qt Create工程中转换到VS2010的,后来中文就无法在QtCreate中正常显示了,于是把.h和.cpp转换成unicode格式,都能正常显示。
unicode格式文件第一二个字符是0xfeff,难道是该问题弄的?于是把文件全部转换回ascii格式。编译通过。问题解决。

3:按照2中的思路,将代码中包含的头文件直接替换成头文件里面的具体内容后编译通过

将头文件中包含的内容直接复制到#include "module_def.h"处编译通过。说明头文件的展开有问题。
在这里插入图片描述

4:将头文件里面的包含文件修改成相对路径

module_def.h头文件在sensorcalibrationdia.h头文件相同目录的另外一个子目录下。将#include "module_def.h"修该成 #include "include/module_def.h"就好了。
在这里插入图片描述

5:果然头文件中包含头文件不是个好习惯。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值