QT dll в не qt-приложении - PullRequest
0 голосов
/ 05 июля 2018

У меня проблемы с распространением моего класса QT (5.7, msvc) другому разработчику (он использует сборщик borland C ++). Во время загрузки мое приложение DLL не может найти platforms\qwindows.dll

Кто-нибудь может сказать мне (с примерами), как создать dll и использовать ее в других компиляторах?

Это мой способ экспортировать некоторые методы класса:

#include <string>
#include <QString>
#include "dialog.h"
dialog* dlg;

extern "C" __declspec(dllexport) void DLLInit() {
    int argcc = 0;
    new QApplication(argcc, 0, false);
    dlg = new dialog();
}

extern "C" __declspec(dllexport) void DLLDestroy() {
    delete dlg;
    delete qApp;
}

extern "C" __declspec(dllexport) void setText(std::wstring str){
    dlg->setText(QString::fromWCharArray(str.c_str()));
}

extern "C" __declspec(dllexport) int add(int a, int b){
    return dlg->add(a, b);
}

Структура файла выглядит правильно (qt_form - это моя dll):

The file structure seems correct:

1 Ответ

0 голосов
/ 05 июля 2018

Если EXE не находится в той же папке, что и библиотеки Qt, вызовите в EXE-файле SetDllDirectory с указанием пути к папке, содержащей ваши DLL и библиотеки Qt.

Или измените переменную среды PATH, чтобы включить эту папку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...