我是靠谱客的博主 激昂灰狼,最近开发中收集的这篇文章主要介绍QT debug 功能正常 realease和windeplayqt工具打包部分功能无法使用或者不正常说明开发环境错误说明结论,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

目录

  • 说明
  • 开发环境
  • 错误说明
  • 结论

说明

在项目的开发中,一般程序员都是使用debug版本进行程序的编写和调试,习惯好一些的程序员可能会天天用realease跑一遍自己写的程序是否正常,但是很多程序员可能都不会这么做,直到程序功能完成时,才将其使用realase一遍,然后进行打包给测试进行测试,这时候很有可能就会出现realease部分功能无法使用(比如按钮无效果)的情况。

开发环境

我使用的开发环境是QT Creator,关于debug和release的区别,网上有很多说明,这里就不详细说他们之间的区别了,其实使用QT Creator还有一个Profile版本。按照QT官方的说明, profile则是在debug和realease之中取一个平衡,兼顾性能和调试, 可以类似的看做是性能更优但是又方便调试的版本。因此很多时候我们发现realease版本功能不正常的时候,可以使用profile进行调试来发现问题。

错误说明

最近项目需求有一个上传文件的需求,通常这个需求可以使用第三方库libcurl来完成文件的上传,我这边使用的具体是不是libcurl我也不是很清楚,我使用的自己公司封装的库,可能也是封装libcurl而成的库,
使用QT的QLibrary来动态加载库。下图1是加载库并且上传文件的部分代码,使用debug可以成功打印出2的日志,但是使用realease或者Profile却没有进入,这时候还以为是static变量在realease版本下被优化了,其实根本就不是这个原因(ps:这是错误的想法) ,导致这个原因就是加载库失败,原来是自己根本就没有把上传文件的库(TYFileServerSDK.dll,即下图第一行标红代码)放到项目生成的目录下,这里使用到了相对路径,注意这里不是代码的路径,项目的路径通过图2可以看到
图1
图2

结论

很多时候,我们在使用C++开发的时候,会用到很多外部的dll(动态库)或者lib(静态加载)和一些配置文件(.ini和txt等),这时候如果出现realease功能无法正常使用的情况,一般先从环境入手,对照realease和debug版本的所有需要的文件是否都一样,因为 realease版本优化了,所以很多时候并不会弹出错误提示,如果从代码着手可能找不到问题的根本原因。
ps:该文章适合C++新手和某些特殊情况

最后

以上就是激昂灰狼为你收集整理的QT debug 功能正常 realease和windeplayqt工具打包部分功能无法使用或者不正常说明开发环境错误说明结论的全部内容,希望文章能够帮你解决QT debug 功能正常 realease和windeplayqt工具打包部分功能无法使用或者不正常说明开发环境错误说明结论所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(42)

评论列表共有 0 条评论

立即
投稿
返回
顶部