首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在“带调试信息的发布”模式下构建Qt?

在“带调试信息的发布”模式下构建Qt?
EN

Stack Overflow用户
提问于 2011-08-09 15:57:45
回答 4查看 25.7K关注 0票数 30

有没有办法在“带调试信息的发布”模式下构建Qt?我的应用程序仅在“发布”模式下崩溃(在调试模式下工作正常),问题似乎来自Qt (可能是Qt中的错误).So我想查看Qt的调试信息。

Qt docs有"debug“、"release”模式,但没有"release with debug“模式。

更新

我的应用程序在Mingw32位版本/调试和VSC++编译器64位调试中工作得很好。

仅在VSC++ 64位版本上崩溃

有什么建议吗?

EN

回答 4

Stack Overflow用户

发布于 2016-03-01 00:10:34

老问题,我知道。但是现在,你可以简单地使用

代码语言:javascript
运行
复制
CONFIG += force_debug_info

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

代码语言:javascript
运行
复制
qmake CONFIG+=release CONFIG+=force_debug_info path/to/sources

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

代码语言:javascript
运行
复制
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,但我们需要手动将上述条件附加到Qt 4.xdefault_post.prf

票数 45
EN

Stack Overflow用户

发布于 2011-08-09 18:43:28

我在我的qmake文件中使用它来构建带有debuginfo的发布版本:

代码语言:javascript
运行
复制
QMAKE_CXXFLAGS_RELEASE = $$QMAKE_CXXFLAGS_RELEASE_WITH_DEBUGINFO
QMAKE_CFLAGS_RELEASE = $$QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO
QMAKE_LFLAGS_RELEASE = $$QMAKE_LFLAGS_RELEASE_WITH_DEBUGINFO

这样,您至少可以检查代码中是否发生了崩溃。不支持使用此模式构建Qt,请参阅此bug。您只能手动更改vcproj-files或Makefiles,就像在Macke的回答中那样。

票数 16
EN

Stack Overflow用户

发布于 2016-10-11 18:08:52

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

票数 13
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6993061

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档