写代码没有提示错误,但是运行的时候会报错
1>------ 已启动生成: 项目: ResultTrack, 配置: Debug Win32 ------
1> resulttrack.cpp
1>resulttrack.obj : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: __thiscall QXlsx::Document::Document(class QObject *)" (__imp_??0Document@QXlsx@@QAE@PAVQObject@@@Z),该符号在函数 "public: __thiscall RESULTTRACK::RESULTTRACK(class QWidget *)" (??0RESULTTRACK@@QAE@PAVQWidget@@@Z) 中被引用
1>resulttrack.obj : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: virtual __thiscall QXlsx::Document::~Document(void)" (__imp_??1Document@QXlsx@@UAE@XZ),该符号在函数 "public: virtual void * __thiscall QXlsx::Document::`scalar deleting destructor'(unsigned int)" (??_GDocument@QXlsx@@UAEPAXI@Z) 中被引用
1>resulttrack.obj : error LNK2001: 无法解析的外部符号 "public: virtual struct QMetaObject const * __thiscall QXlsx::Document::metaObject(void)const " (?metaObject@Document@QXlsx@@UBEPBUQMetaObject@@XZ)
1>resulttrack.obj : error LNK2001: 无法解析的外部符号 "public: virtual int __thiscall QXlsx::Document::qt_metacall(enum QMetaObject::Call,int,void * *)" (?qt_metacall@Document@QXlsx@@UAEHW4Call@QMetaObject@@HPAPAX@Z)
1>resulttrack.obj : error LNK2001: 无法解析的外部符号 "public: virtual void * __thiscall QXlsx::Document::qt_metacast(char const *)" (?qt_metacast@Document@QXlsx@@UAEPAXPBD@Z)
1>D:\Projects\test_project\ResultsBackTracking\ResultTrack\Win32\Debug\\ResultTrack.exe : fatal error LNK1120: 5 个无法解析的外部命令
写xlsx = new QXlsx::Document这一句会报错
引入头文件不会报错
定义也没有问题
Github下载链接:
https://github.com/dbzhang800/QtXlsxWriter
构建操作还需要电脑有perl环境,官网下载链接比较慢,需要的可以去官网下载。
将include文件夹中的 QtXlsx文件夹整个复制到 Qt安装目录中的incude文件夹
将lib文件夹中的prl文件复制到Qt安装目录中的lib文件夹
将lib文件夹中的dll文件复制到Qt安装目录中的bin文件夹
将mkspecs文件夹中modules子文件夹pri文件复制到Qt安装目录中的mkspecs\modules文件夹