[英]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.