QT在release模式下用qInstallMessageHandler输出日志时函数名、行号等都是空的解决办法
这里visual studio和Qt Creator分开来说
visual studio
vs工程时直接编辑.vcxproj项目文件
第一步、找到PreprocessorDefinitions关键字(有好几处都要改),添加QT_MESSAGELOGCONTEXT宏。
第二步、找到QtMoc块里面的Define行(有好几处都要改),在里面同样添加QT_MESSAGELOGCONTEXT宏。
第三步、用vs打开工程编译即可。
Qt Creator
比较简单直接编辑.pro文件即可,打开.pro增加如下:
DEFINES += QT_MESSAGELOGCONTEXT
这时编译release版,能够看到输出的日志文件里面包括了所属文件cpp以及行号信息。