QT的Debug和Realse版本

来源:互联网 发布:阅读mobi的软件 编辑:程序博客网 时间:2024/06/05 16:11

在使用QT进行构建的时候,总会报一些错,虽然每次都试着切换到release或者debug下编译就通过了,但是也没有总结过,也不懂其中的不同,现在就来总结一下

 

(1)先总结一下debug和release的作用

       Debug 是调试版本,在qt下的命令参数如下

                  qmake.exe E:\workspace\project\Metasura\Netasura.pro-spec win32msvc2010 " CONFIG+=debug"

                                                                                                                                                            "CONFIG += declarative_debug"

                                                                                                                                                            "CONFIG +=  qml_debug"

        它编译的结果通常包含调试信息,而且不做任何优化,以为开发人员提供强大的应用程序调试能力。

       Release是发布版本,在qt下的命令参数如下:

                     qmake.exe E:\workspace\project\Netasura\Netasura.pro-r -spec win32-msvc2010

一般客户不允许在发布版本上进行调试。所以不保存调试信息,同时,它往往进行了各种优化,以期达到代码最小和速度最优。为用户的使用提供便利。

 

如果要在串口输出时不打出所有qdebug信息,可以在pro文件中添加DEFINCES+=QT_NO_DEBUG_OUTPUT

 

CONFIG +=debug_and_release

CONFIG(debug,debug|release) {
 unix|win32: LIBS += -lQtCored
 unix|win32: LIBS += -lQtGuid
 unix|win32: LIBS += -lQtNetworkd
} else {
 unix|win32: LIBS += -lQtCore
 unix|win32: LIBS += -lQtGui
 unix|win32: LIBS += -lQtNetwork
}

之前一直不懂这段配置的意思,是因为debug编译生成的文件是xxxxd.dll,而release编译生成的文件时xxxx,dll

release生成的dll是不能调试的,所以有时候编译的时候会报找不见xxxd.dll的错误,good!

 

所以以后拿到项目编译的时候出错,记得查看包含的库文件是哪种???

如果以后遇到这一方面的问题再添加!!

0 0
原创粉丝点击