本文记录日常工作中使用Qt Creator开发时遇到的报错,以及解决办法,因同一个报错可能的原因很多,这里只是部分解决思路。

taking address of temporary

报错代码:domElem = & (node.toElement());node为形参引用,报错大意是对临时变量取地址,返回后临时变量消失导致地址失效,使用非const引用引用返回的临时变量地址是确实不被允许的,但是在VS2013环境不报错,原因是这是VS2013的非标准扩展(默认打开,可关闭),自动在多种情况下扩展了被引用对象的生命周期;
MGW解决方案,定义一个临时变量做过度:

QDomElement t_QDomElement ;
t_QDomElement  = node.toElement();
domElem  = &t_QDomElement ;

multiple definition of

重定义错误,造成这个错误的原因很多,这次遇到的是重复定义的类在pro文件被多次包含。

undefined refernce to

1、结构体定义问题,名字前面加了CORESHARED_EXPORT,去掉;
2、库引用错误,mgw用的库也必须是mgw编译的,重新编译依赖库,注意mgw编译库是.a,不是.lib,pro文件需要包含 LIBS += $$LIBPATH/libbase.a
3、pro文件加 libs += -L . -l ws2_32
4、看下类所在的h和cpp文件是否包含在pro文件里,或者是否被条件屏蔽

was not declared in this scope

1、变量名前加命名空间::
2、定义的函数要在调用前声明,或者写在调用前面

invalid initialization of non-const reference of type * from an rvalue of type *

C++不允许临时对象被修改或者重新赋值,所以对临时对象的引用必须是const类型,解决方法,删掉&引用符号,或在变量前加const;

undefined reference to `AcceptEx@32’

pro文件加LIBS +=-lmswsock;

need ‘typename’ before * beacuse * is a dependent scope

声明模板中依赖名是类型名,前面加typename

程序异常结束

debug编译正常,运行时崩溃,报错信息“程序异常结束”,在main.cpp打断点,也会报“the cdb process terminated”;
排查中发现release版可以正常运行,debug版运行崩溃,初步判断是依赖库有问题,查看pro文件,debug模式下调用的release版的依赖库导致崩溃,在pro文件中加版本判断解决:
CONFIG(debug,debug|release){
//debug版依赖库
}
else{
//release版依赖库
}

QT编译运行报错信息和解决方法相关推荐

  1. ModuleNotFoundError: No module named 'skimage'报错信息的解决方法及如何使用国内镜像安装库文件

    首先,之所以会出现ModuleNotFoundError这一系列的报错信息,是由于缺少指定的库文件.正如标题中所涉及到的这个错误,正是由于缺少skimage(Scikit-Image,一个处理数字图像 ...

  2. 【iOS开发】使用XCode 8进行真机调试的方法(各种报错信息的解决方法)

    1.将真机与Mac使用USB进行连接 2.运行iOS程序的时候在ToolBar运行设备处选择自己的真机 3.如果出现Failed to code sign "xxx",点击Fix ...

  3. php安装make报错信息及解决方法

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 make错误 Generating phar.phar /root/php-5.3.27/sapi/cli/php:error whi ...

  4. 关于eslint遇到的报错信息以及解决方法

    1. Duplicate key/ Duplicated key 存在重复声明的key值,视情况解决 (PS:在uniapp中 // #ifdef H5 test: 1 // #endif // #i ...

  5. win11安装报错0xc1900101怎么办 Windows11安装报错0xc1900101的解决方法

    自己的电脑升级到win11操作系统的时候都会遇到win11系统安装出错了,出现错误代码0xc1900101的问题,导致我们无法安装新系统,下面来看看win11安装报错0xc1900101的解决方法吧. ...

  6. windows10更新报错0x80244022的解决方法

    我的目的是想安装linux子系统,安装前windows必须先更新,结果更新出错了. 一开始我去百度查,查的关于都是报错0x80244022的解决方法,结果都没有办法解决.最后想着也看看也是更新报错,但 ...

  7. Pyton接口自动化相关【易报错问题及解决方法】

    Pyton接口自动化相关[易报错问题及解决方法] 目录:导读 Python怎么链接数据库 python 链接数据库时报错 TypeError: %d format: a number is requi ...

  8. Python发送邮件smtplib.SMTP各报错问题的解决方法

    Python发送邮件smtplib.SMTP各报错问题的解决方法 参考文章: (1)Python发送邮件smtplib.SMTP各报错问题的解决方法 (2)https://www.cnblogs.co ...

  9. Eslint报错整理与解决方法(持续整理)

    Eslint报错整理与解决方法(持续整理) 参考文章: (1)Eslint报错整理与解决方法(持续整理) (2)https://www.cnblogs.com/lunlunshiwo/p/859600 ...

最新文章

  1. HTML5培训后好就业吗
  2. emoji mysql 转 unicode_unicode和emoji编码
  3. Swoole找不到telnet命令
  4. python集合类型中的元素是有序的_Python基础-2-变量和数据类型(2)-列表、元组、字典、集合...
  5. Oracle用户system解锁
  6. linux php自动执行_linux下实现定时执行php脚本
  7. Linux主机硬盘的主要规划
  8. 山东大学 2020级数据库系统 实验七
  9. Netflix的Hystrix使用教程
  10. unity三维地图的经纬度如何在二维地图上表示_安全数据分析:数据点—地图—线性回归...
  11. Mybatis mapper代理开发方法实现增删改查
  12. 强大的离线字典《Colordict》+多种词库下载地址
  13. JAVA JDK 官网安装包启动后没反应
  14. 【宝藏系列】推荐几款免费的视频转文字字幕的软件
  15. 一篇文章学会er图绘制
  16. Linux实战(9):Docker一键搭建kms服务
  17. 图的同构识别算法——C++代码实现
  18. [渝粤教育] 扬州市职业大学 液压与气动技术 参考 资料
  19. 高效搭建基于dnsmasq通过webui管理的dns服务器
  20. 斗图吗?教你用Python来制作表情包

热门文章

  1. python 爬取手机王者荣耀盒子出装
  2. 尼康翻转屏单反有哪些
  3. 两个Beta函数类型的积分及其一般形式
  4. 审美疲劳来袭,AI 产品该何去何从
  5. ​​​​​​​NLP之TEA:基于python编程(jieba库)实现中文文本情感分析(得到的是情感评分)
  6. win11如何打开IE11
  7. [词性] 十六、介词 6 [ inside ] [ like ] [ near ] [ of ] [ off ] [ past ] [ around ]
  8. Himi浅谈游戏开发de自学历程!(仅供参考)
  9. python实验报告内容实现购物车系统_Python 实践--购物车功能简单实现
  10. Chrome实现文件夹拖拽并预览其中的图片