Qt 之未定义标识符“qFlagLocation“解决办法

简介: Qt 之未定义标识符“qFlagLocation“解决办法

环境:vs2019 + Qt 5.12.5

       先描述一下自己遇到的问题,自己使用 VS 建立了一个 Qt 工程,后来项目需要,就针对研究内容做了个界面。刚做好界面时,使用起来也没有任何问题,后来不知道怎么回事,突然就报错了,报错内容如下图所示:

04c7701b8ba64b32b6a8a47ca838b88f.png


大概意思就是说在使用槽函数的过程中出现了  未定义标识符"qFlagLocation" ,在网上搜了一通可以说是没有找到任何相关的内容;大概花了一上午的时间最终得以解决!!!


解决办法如下:        


1、问题根源


       首先是 “CTRL + 鼠标左击” 跳转到 SIGNAL 宏定义的地方,如下图所示;

8c6c4230aae24731b155f0dfddd277e6.png

 从上图中我们可以看到从 267—271 行字体是灰色的,这也正是造成 未定义标识符"qFlagLocation" 的根源,我的理解是灰色字体在宏定义的过程中无效,也即造成了 槽函数(SLOT)和信号(SIGNAL)的宏定义无效,最终导致槽函数和信号无法使用;


2、解决办法


       把 266、267、269 三行注释掉即可,在注释掉该三行后,267—271 的灰色字体立马高亮,如下图所示;

fad8f0d14b2d4cf49cf58ca2d24ff67d.png

在注释掉上述三行代码之后,SIGNAL 的报错就消失了!!!

image.png


问题到此解决!!!

相关文章
|
测试技术
QT --- VS2017+Qt5.12 编译报错【E2512 功能测试宏的参数必须是简单标识符 】的解决方法
QT --- VS2017+Qt5.12 编译报错【E2512 功能测试宏的参数必须是简单标识符 】的解决方法
639 0
|
8月前
|
Windows
qt中编译错误:error: C2001: 常量中有换行符的解决办法
qt中编译错误:error: C2001: 常量中有换行符的解决办法
|
9月前
|
API
QT中使用 WinExec API 参数不支持中文路径的解决办法
在QT中使用WinExec时,发现如果调用外部程序,如果路径或者参数含有中文路径,可能导致无法打开应用程序或者无法使用参数,解决办法,下面是简单的解决办法
239 0
|
9月前
|
编解码 JavaScript 编译器
[字符编码] 实战篇:QT中文乱码的解决办法
[字符编码] 实战篇:QT中文乱码的解决办法
2301 0
|
缓存
《QT从基础到进阶·二十二》QGraphicsView显示大量图形项item导致界面卡顿的解决办法
《QT从基础到进阶·二十二》QGraphicsView显示大量图形项item导致界面卡顿的解决办法
804 0
Qt在线安装时出现网络错误的解决办法(Windows)
Qt在线安装时出现网络错误的解决办法(Windows)
|
编译器
Qt没有被正确安装,请运行make install -- 问题的解决办法
Qt没有被正确安装,请运行make install -- 问题的解决办法
1320 0
|
编译器 C++
使用vs编译QT项目一直提示 machine type 不匹配的问题解决办法
使用vs编译QT项目一直提示 machine type 不匹配的问题解决办法
134 0
|
Ubuntu 计算机视觉
关于 libQt5xxx:对‘Qxxxx::xxxx()@Qt5’未定义的引用错误 的解决方法
关于 libQt5xxx:对‘Qxxxx::xxxx()@Qt5’未定义的引用错误 的解决方法
关于 libQt5xxx:对‘Qxxxx::xxxx()@Qt5’未定义的引用错误 的解决方法
|
编译器 C语言 计算机视觉
QT5在windows下调用OpenCV库出现: undefined reference to `xxxxx' 错误解决办法(适用MinGW编译器)。
QT5在windows下调用OpenCV库出现: undefined reference to `xxxxx' 错误解决办法(适用MinGW编译器)。
1728 0
QT5在windows下调用OpenCV库出现: undefined reference to `xxxxx' 错误解决办法(适用MinGW编译器)。