C ++ QT libXL Ошибка: «Во время запуска программа завершила работу с кодом 0xc0000135»

Я пытаюсь написать приложение QT, которое использует libXL, но когда я пытаюсь скомпилировать, я получаю всплывающее окно с надписью "During Startup program exited with code 0xc0000135", Я выяснил, какая именно линия вызывает проблему, это "Book* book = xlCreateBook();" строка в startgame.cpp. Когда я комментирую эту строку, программа работает нормально. Возможно ли, что я неправильно настроил библиотеку? Я постараюсь включить весь соответствующий код ниже, и заранее спасибо за любую помощь!

stattracker.pro

QT       += core gui

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

TARGET = Stattracker
TEMPLATE = appSOURCES += main.cpp\
stattracker.cpp \
startgame.cpp

HEADERS  += stattracker.h \
varstruct.h \
startgame.h

FORMS    += stattracker.uiwin32: LIBS += -L$$PWD/libxl-3.6.4.0/lib/libxl.lib

INCLUDEPATH += $$PWD/libxl-3.6.4.0/include_cpp

main.cpp

#include "stattracker.h"#include <QApplication>
#include "varstruct.h"#include <QString>
#include <windows.h>
#include <shlobj.h>gameManager gm;
wchar_t homePath[MAX_PATH];
wchar_t awayPath[MAX_PATH];

int main(int argc, char *argv[])
{
QApplication a(argc, argv);

gm = *new gameManager;
homePath[MAX_PATH] = *new wchar_t;
awayPath[MAX_PATH] = *new wchar_t;

Stattracker w;
w.show();

return a.exec();
}

startgame.cpp

#include ...

void Stattracker::initializeVars()
{
//This function initializes all game variables to starting value

}

void Stattracker::newFile(QString path, QString firstName, QString lastName)
{
using namespace libxl;
Book* book = xlCreateBook(); //WHEN THIS LINE IS COMMENTED, THE PROGRAM COMPILES FINE
}

void Stattracker::getInput()
{
bool homePosition[11], homeOrder[10], awayPosition[11], awayOrder[10];
wchar_t my_documents[MAX_PATH];
gm.homeTeam.teamName = ui->teamName->text();
gm.awayTeam.teamName = ui->teamName_2->text();

HRESULT result = SHGetFolderPath(NULL,CSIDL_PERSONAL,NULL,SHGFP_TYPE_CURRENT,my_documents);
QString documentsPath = QString::fromWCharArray(my_documents);
QString homePathA = documentsPath + "\\Stattracker\\" + gm.homeTeam.teamName;
QString awayPathA = documentsPath + "\\Stattracker\\" + gm.awayTeam.teamName;
QString pathCheckA = documentsPath + "\\Stattracker\\";
QString curFileA;
wchar_t pathCheckB[MAX_PATH];
wchar_t curFile[MAX_PATH];
pathCheckA.toWCharArray(pathCheckB);
homePathA.toWCharArray(homePath);
awayPathA.toWCharArray(awayPath);

if((GetFileAttributes(pathCheckB))==INVALID_FILE_ATTRIBUTES)
{
CreateDirectory(pathCheckB, 0);
}
if((GetFileAttributes(homePath))==INVALID_FILE_ATTRIBUTES)
{
CreateDirectory(homePath, 0);
}
if((GetFileAttributes(awayPath))==INVALID_FILE_ATTRIBUTES)
{
CreateDirectory(awayPath, 0);
}if(ui->firstName->text()!="First Name" && ui->lastName->text()!="Last Name")
{
gm.homeTeam.roster[0].firstName = ui->firstName->text();
gm.homeTeam.roster[0].lastName = ui->lastName->text();
curFileA = homePathA + "\\" + gm.homeTeam.roster[0].lastName + "_" + gm.homeTeam.roster[0].firstName + ".xls";
curFileA.toWCharArray(curFile);
if((GetFileAttributes(curFile))==INVALID_FILE_ATTRIBUTES)
{

}
}
}

void Stattracker::startGame()
{
initializeVars();
getInput();

}

Дайте мне знать, если я должен включить какие-либо другие файлы (stattracker.cpp, stattracker.h или varstruct.h)

2

Решение

Найдите libxl.dll и поместите его в тот же каталог, что и вы .exe

5

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]