Qt Release 构建时强制包含调试信息

Posted lsgxeva

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Qt Release 构建时强制包含调试信息相关的知识,希望对你有一定的参考价值。

Qt Release 构建时强制包含调试信息

https://stackoverflow.com/questions/6993061/build-qt-in-release-with-debug-info-mode

 

在Qt5中,调用时configure,只需添加选项-force-debug-info

===============

 

老问题,我知道。但是如今,您可以简单地使用

CONFIG += force_debug_info

即使在发布模式下也可以获得调试符号。当您QMake通过命令行使用时,我通常这样做是为了获得带有调试信息的发行版:

qmake CONFIG+=release CONFIG+=force_debug_info path/to/sources

这将启用以下Qt5/mkspecs/features/default_post.prf条件

force_debug_info|debug: CONFIG += debug_info
force_debug_info {
    QMAKE_CFLAGS_RELEASE = $$QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO
    QMAKE_CXXFLAGS_RELEASE = $$QMAKE_CXXFLAGS_RELEASE_WITH_DEBUGINFO
    QMAKE_LFLAGS_RELEASE = $$QMAKE_LFLAGS_RELEASE_WITH_DEBUGINFO
}

这甚至会为工作,Qt 4.x但我们需要手动附加上述条件为default_post.prfQt 4.x

 

===============

 

只需在Qt Creator的项目选项卡中选择Profile build,而不是debug或release版本。它将为qmake调用添加很多参数。

qmake.exe someproject.pro -spec win32-msvc "CONFIG+=qml_debug" 
"CONFIG+=qtquickcompiler" "CONFIG+=force_debug_info" "CONFIG+=separate_debug_info"

 

=========== End

 

以上是关于Qt Release 构建时强制包含调试信息的主要内容,如果未能解决你的问题,请参考以下文章

QT调试时怎么查看某个指针指向的一片内存区域的信息

[Qt] Release模式下产生调试信息

debug和release版本的区别

VS中Debug模式和Release模式的区别

项目发布Debug和Release版的区别

VS环境下Debug和Release版本的区别