在工程文件 .pro中加入了
LIBS += ..\System\libxl\libxl.lib
QMAKE_POST_LINK += $$quote(cmd /c copy /y ..\System\libxl\libxl.dll .)
是libxl静态库的路径一斤连接.dll动态库的路径.....
同时在头文件中加入了
#include "libxl/libxl.h"
//#include "excelengine.h"
//#include "exportexcelobject.h"
但是在用mingw编译是没有出现问题,到程序使用到这一段代码时:
using namespace libxl;
QString savefilename = QFileDialog::getSaveFileName(this,tr("Save File"),"",tr(" (*.xls *.xlsx)"));
Book *book = xlCreateBook();
qDebug()<<"111111111111";
Sheet* sheet = book->addSheet("Sheet1");
qDebug()<<"----------";
出现了这样的问题

在程序输出里面看到这样的
Starting D:\Test\build-System-Desktop_Qt_5_3_MinGW_32bit-Debug\debug\System.exe...
111111111111
程序异常结束。
D:\Test\build-System-Desktop_Qt_5_3_MinGW_32bit-Debug\debug\System.exe crashed
程序崩溃了,而且是在执行Sheet出错,下一句调试语句没有打印出来....网上找了好多资料,现在也无法确定是不是编译器的问题,还是说编译环境配置里面出现了问题,请各位大神解惑
环境是:




------解决思路----------------------
这种运行时错误,除了你自己调试程序,别无它法。
题外:有几点没看懂
1. 你的 libxl.lib 是导入库,还是静态库?? 你提到的静态库,可以你后面似乎还使用了动态库 libxl.dll ??
2. 你的 libxl.lib 是MSVC编译的,还是MinGW编译的。从后缀看,它是MSVC编译的,但是你的Qt用的却是MinGW。而且你还编译通过了??
3. MinGw下要混用MSVC编译的库,除非libxl.lib 导出的是C接口而不是C++接口,可是你代码风格又是C++
另外,在Qt5下生成 Excel文件,Qt Xlsx 不能满足你的要求么?