QT常见错误及解决方法

1、error: ‘header’ was not declared in this scope

在使用此变量之前没有对其进行定义

2、error - RtlWerpReportException failed with status code :-1073741823

这个错误多半是因为一个变量定义好后还没有被初始化,在内存中还没有分配空间,就被拿来使用了。或者一些多线陈里或者文件.h定义先后顺序的问题,检查变量被使用前是否已经初始化和分配空间

3、QMetaObject::connectSlotsByName: No matching signal for on_xxxxx()

对结果没有影响,程序不会出现错误。
Qt中空间名称关联槽的方式进行关联,对应的函数必须写成"on_控件名_信号名"的格式;或者也可以通过connet函数人为显式地将信号和槽关联起来。但是,如果采用显式connect的方法的同时,又将槽函数的名字起成了“on_控件名_信号名”的格式,那么就会在运行时弹出警告.为了消除“对于……没有匹配信号”的警告,我们需要遵循这个命名约定,或者确保我们的槽名都不是以“on_”开头的。

4、error: multiple definition of `menu::menu(QWidget*)’

在.h文件中声明各种类以后,在使用这些类的.cpp文件的开头对这些.h文件进行了声明。若在delete.h文件的开头声明了另一个menu.h文件,即两个文件有了嵌套关系,这时在delete.cpp文件中就不需要再对menu.h进行声明了,否则会出现上方重复定义的错误。也可以打开QT工程文件*.pro,查看SOURCES += \ 以及 HEADERS += \下方是否有重复的源文件名或头文件名,删掉重复。

5、error: ‘setCodecForTr’ is not a member of ‘QTextCodec’

在QT5中,不支持QTextCodec,直接删除这句话。

6、error: ‘UnicodeUTF8’ is not a member of ‘QApplication’

apply(“emergency_call”, “Form”, 0, UnicodeUTF8) 修改为:
apply(“emergency_call”, “Form”, 0)

7、error: ‘class QHeaderView’ has no member named ‘setResizeMode’

将 setResizeMode 替换为为 setSectionResizeMode

8、error: undefined reference to `zero::on_export_menu()’

出现此问题的原因是,在.h文件中对on_export_menu()槽进行了声明,但是并没有在.cpp文件中对其进行定义。可以尝试删除.h文件中的声明或对其进行定义。

9、error: ld returned 1 exit status

解决方案是将保存路径下的build-xxxxx-Desktop…文件夹删除,切记是build…文件,删除后重新编译运行程序会再次生成build文件。
————————————————
版权声明:本文为CSDN博主「my_angle2016」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/my_angle2016/article/details/109989567

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值