我现在需要一些帮助。如果有人能够帮助我们“转移”我的基于QT的代码以与我的C#应用程序一起工作,我很乐意。Qt非托管C++类与C#.Net工作
可以说我有这个简单的QT类:
class ItShouldWork : public QObject
{
Q_OBJECT
public:
ItShouldWork(QObject* parent = 0) : QObject(parent){}
QString id() const { return objectName(); }
};
现在我希望能够与Visual Studio C#来访问这个类,我试图创建通过包装的非托管的DLL和访问,试图创建一个COM组件,但现在我完全卡住了,所以我回到这个简单的类的开头。我已经看到了你可以使用一个外部的“C”与__declspec(dllexport)的是这样的:
extern "C" __declspec(dllexport) double Subtract(double a, double b)
,然后在.NET中使用_dllImport,这正常工作与上面的功能,但例如为QString添加时它不承认我的dll,并引发dllNotFoundException。
然后,我想也许你需要某种包装,是的,你怎么做,然后..?用google搜索,但没有真正帮助我用c + +和qt函数。
如何创建一个dll和一个c-wrapper或创建一个COM组件直接一步一步就会很棒,我并不在意它是如何完成的,但如果你知道一个方法,请帮助我一个小教程?我要疯了...
'QString'是'QT'框架独有的。你将不得不写w包装接近转换'QString'类到一个正常的'字符串' – 2012-07-31 16:43:16
@Rambound你能帮助我们如何做到这一点?我的意思是包装,如何将QString转换为char *应该不是问题。 – 2012-08-01 11:46:08