簡體   English   中英

非Qt應用程序中的QT dll

[英]QT dll in non-qt application

我在將我的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):

文件結構似乎正確:

如果EXE與Qt庫不在同一個文件夾中,請EXE調用SetDllDirectory,並在其中包含DLL和Qt DLL的文件夾路徑。

或修改PATH環境變量以包含此文件夾。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM