**

[QT] Debug Assertion Failed问题解决

**

使用QT发布程序时出现了Debug Assertion Failed问题,致使程序崩溃,如图:

在这里插入图片描述

  • 经过查找后原因是我在程序中调用了Debug版本的静态链接库,这个静态链接库是我用来读写文件用的(暂且称为 file.dll),出现了错误,而另外我的程序中也同样调用了编译的libmodbus库及其他非读写文件用的debug库(暂且称为nonfile.dll)却未出现错误,再将file.dll重新生成Release版本后再次调用未出现错误。
  • 之后我将软件切换为Debug模式,在使用release版本的file.dll时,程序再次崩溃。

总结:

  1. 在Debug模式下读写文件的静态链接库同样需是Debug版本的
  2. 在Release模式下读写文件的静态链接库同样需是Release版本的
  3. 对于非读写文件库两种模式下都可以使用,当然安全起见,我在发布软件时都把使用的库改用 了release版本的了
Logo

鸿蒙生态一站式服务平台。

更多推荐