config.log是Qt编译源码执行configure过程中,将检测的具体过程记录下来的文件。在执行configure过程中,遇到报错问题,肯定需要查看config.log文件以查看和解决具体的错误。
在排查相对复杂的错误时,建议安装vscode工具,打开config.log文件,能更好地进行分析。
下图是config.log基本的结构,由以一个的检测组成。当该检测项为FAILED时,输出在界面上的检测项就为no。
因此当想要某一检测项变为yes,便需要在config.log中找到其具体项失败的原因,解决后,检测结果为succeeded该选项便改为yes。其中,界面显示的检测项和config.log中的config test名称等不一定完全相同。
在config.log中出现FAILED很正常,因为该FAILED主要影响的是某一方面模块等是否启用,比如如果不需要XCB显示插件,xcb等库检测为FAILED,不影响Qt工作,检测失败的模块也不会编译进Qt库中。
举个例子,如何通过查看config.log解决下图中的xcb错误。
上图中出现该错误在于,你在./confingure中,已经指定使用-xcb选项以编译出libqxcb platform插件。但你没有解决-xcb选项所需要的依赖项,所以报上图错误。该错误会导致无法生成makefile文件,自然也就无法执行编译操作。
(这里建议测试环境时,手动进行make操作,不要将make、make install操作在执行脚本直接执行,避免上一次Qt检测环境通过后,成功生成makefile文件。然后,在做环境修改后,某些必要配置项检测不通过,无法生成新的makefile文件,Qt继续执行旧的makefile进行编译。但实际上,必要配置项检测不通过就不应该继续进行编译,而是确认配置项正确后再进行编译make操作)