有没有办法在“带调试信息的发布”模式下构建Qt?我的应用程序仅在“发布”模式下崩溃(在调试模式下工作正常),问题似乎来自Qt (可能是Qt中的错误).So我想查看Qt的调试信息。
Qt docs有"debug“、"release”模式,但没有"release with debug“模式。
更新
我的应用程序在Mingw32位版本/调试和VSC++编译器64位调试中工作得很好。
仅在VSC++ 64位版本上崩溃
有什么建议吗?
发布于 2016-03-01 00:10:34
老问题,我知道。但是现在,你可以简单地使用
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,但我们需要手动将上述条件附加到Qt 4.x的default_post.prf中
发布于 2011-08-09 18:43:28
我在我的qmake文件中使用它来构建带有debuginfo的发布版本:
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的回答中那样。
发布于 2016-10-11 18:08:52
在Qt5中,当调用configure时,只需添加选项-force-debug-info
https://stackoverflow.com/questions/6993061
复制相似问题