天天看点

qtxlsx编译报错_QT5.12版本下编译和搭建QTXlsx库读取Excel表格第二讲

QT5.12下搭建QTxlsx库编译错误以及解决方法,完美运行成功

上次我将遇到的问题整理在第一个博客中,见我的之前记录的文章,QT下编译Qtxlsx库快速读取excel表格第一讲,这里我没有解决遇到的问题,今天我将遇到的问题已经解决,将解决过程记录下来,希望大家能够相互学习哦。

执行qmake编译错误:Unknown module(s) in QT: xlsx

详细的编译错误记录如下:

08:27:46: 为项目ExcelDemo执行步骤 ……

08:27:46: 正在启动 "E:\QT\QT5.12\Tools\mingw730_64\bin\mingw32-make.exe" clean -j6

E:\QT\QT5.12\5.12.1\mingw73_64\bin\qmake.exe -o Makefile .\ExcelDemo\ExcelDemo.pro -spec win32-g++ "CONFIG+=debug" "CONFIG+=qml_debug"

Project ERROR: Unknown module(s) in QT: xlsx

mingw32-make: *** [Makefile:253: Makefile] Error 3

qtxlsx编译报错_QT5.12版本下编译和搭建QTXlsx库读取Excel表格第二讲

08:27:48: 进程"E:\QT\QT5.12\Tools\mingw730_64\bin\mingw32-make.exe"退出,退出代码 2 。

08:27:48: 配置没有改变, 跳过 qmake 步骤。

08:27:48: 正在启动 "E:\QT\QT5.12\Tools\mingw730_64\bin\mingw32-make.exe" -j6

E:\QT\QT5.12\5.12.1\mingw73_64\bin\qmake.exe -o Makefile .\ExcelDemo\ExcelDemo.pro -spec win32-g++ "CONFIG+=debug" "CONFIG+=qml_debug"

Project ERROR: Unknown module(s) in QT: xlsx

mingw32-make: *** [Makefile:253: Makefile] Error 3

qtxlsx编译报错_QT5.12版本下编译和搭建QTXlsx库读取Excel表格第二讲

08:27:50: 进程"E:\QT\QT5.12\Tools\mingw730_64\bin\mingw32-make.exe"退出,退出代码 2 。

Error while building/deploying project ExcelDemo (kit: Desktop Qt 5.12.1 MinGW 64-bit)

When executing step "Make"

08:27:51: Elapsed time: 00:05.

解决方法

qtxlsx编译报错_QT5.12版本下编译和搭建QTXlsx库读取Excel表格第二讲

将build下的这个文件夹下的内容拷贝到qt的安装目录下。如我的构建路径是:F:\nhy\Source\QT512\excel\build-qtxlsx-Desktop_Qt_5_12_1_MinGW_64_bit-Debug\mkspecs

qt的安装路径也就是拷贝路径是

E:\QT\QT5.12\5.12.1\mingw73_64\mkspecs,再进行构建就成功了哦。

成功运行截图

qtxlsx编译报错_QT5.12版本下编译和搭建QTXlsx库读取Excel表格第二讲

qmake环境搭建成功了,编译基本就没有问题了哦。

qtxlsx编译报错_QT5.12版本下编译和搭建QTXlsx库读取Excel表格第二讲

总结

我们必须要将qt需要的环境在pro文件中进行配置好,然后先给项目执行qmake,其次是构建,最后运行即可。比如在调用qtxlsx库之前,需要在pro文件中添加:QT +=xlsx,如qmake有错误及时进行相关的解决。

qtxlsx编译报错_QT5.12版本下编译和搭建QTXlsx库读取Excel表格第二讲

在使用库之前,一定要将相关的调用原理理解清楚,这样才能找到根本的问题所在,能够将问题圆满解决。

备注:如果后续需要在visual stdio下进行qt环境的搭建了,需要将qtxlsx对应的源码进行qt版本的编译,在编译路径下选择vs对应的版本即可,将相关的库文件和头文件拖入到相关的路径下即可。

如果后续你在这里遇到问题了,我们可以一起交流的哦。原理都是一样的哦。至此圆满结束。