我现在需要一些帮助。如果有人可以帮助我们“转移”我的基于 QT 的代码以使用我的 C# 应用程序,我会很高兴。
假设我有这个简单的 QT 类:
class ItShouldWork : public QObject
{
Q_OBJECT
public:
ItShouldWork(QObject* parent = 0) : QObject(parent){}
QString id() const { return objectName(); }
};
现在我希望能够使用 Visual Studio C# 访问这个类,我尝试创建一个非托管 dll 并通过一个包装器访问,尝试创建一个 COM 组件但现在我完全卡住了,所以我要回到从这个简单的类开始。我已经看到您可以像这样使用带有 __declspec(dllexport) 的外部“C”:
extern "C" __declspec(dllexport) double Subtract(double a, double b)
然后在 .net 中使用 _dllImport,这适用于上面的函数,但是当向它添加例如 QString 时,它不再识别我的 dll 并抛出 dllNotFoundException。
然后我想也许你需要某种包装,是的,那你怎么做..?用谷歌搜索,但没有什么能真正帮助我使用 c++ 和 qt 函数。
一步一步地介绍如何创建 dll 和 c-wrapper 或直接创建 COM 组件 dll 会很棒,我真的不在乎它是如何完成的,但如果你知道方法,请帮助我提供一个小教程?我要疯了...