事情大概是这样的:公司软件采用的5.8.0版本开发windows桌面程序,为了方便定位Qt的崩溃问题,获取实现细节,故而需要源码编译。
需要声明的是官网提供的方案是通过jom工具调命令行方式编译,本人没试过,主要想着通过qmake将pro转成vcproj方式编译,毕竟用vs比较习惯了。
前期准备:
(1)官网下载带源码的安装包,大家可以自行搜索qt-opensource-windows-x86-msvc2015_64-5.8.0.exe,包的大小1.03G
(2)双击安装源码到指定目录,假设根目录为${Root},细节略
(3)借助vs安装的Qt-VS-Tools插件打开${Root}/src/qtbase/src/src.pro,注意不要打开Root/src/qtbase/src/qtbase.pro(会引发错误)。不出意外,打开src.pro会报错如下:
qtconfig.pri等三个文件找不到,以及Project ERROR:Could not find feature libatomic.
问题解决:
(1)针对qtconfig.pri等三个文件找不到的问题,我将之前编过的qt5.9.8中对应的几个文件直接拷贝过来,故而最终问题只剩下could not find feature libatomic。
(2)通过everthing按名称搜引用libatomic的地方,找到了若干文件,也没看出些眉目。
于是剑走偏锋,既然是qmake爆出的错,那就直接编译qmake源码跟进去调试下为嘛提示找不到libatomic,于是又掉进了另一个坑。
(1)同样通过Qt-VS-Tools工具打开qmake下的qmake.pro,转成vcxproj文件。工程文件倒是生成成功了,但是编译的时候居然还是提示libatomic相关的内容找不到,于是暂时放弃
(2)通过qtcreator打开qmake.pro方式编译,工程打开倒是挺顺利,但是编译的时候会遇到如下几个错误,每个都会让你想要放弃:
- qstring_compat.cpp

本文讲述了在使用Qt5.8.0开发Windows桌面程序时,作者遇到的qtconfig.pri文件丢失、libatomic找不到等问题,通过尝试qmake编译、VS工具、perl.exe配置等步骤,最终解决了这些问题并生成了可调试的编译版本。
1万+

被折叠的 条评论
为什么被折叠?



