我在将我的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):
答案 0 :(得分:0)
如果EXE与Qt库不在同一个文件夹中,请使用包含DLL和Qt DLL的文件夹路径进行EXE调用SetDllDirectory。
或修改PATH环境变量以包含此文件夹。