我试图找到一些答案但却找不到......
我用QT(c ++)编写了dll,我需要用c#代码
导入它我是通过COM接口完成的,但这需要注册我会避免它,所以我读了一些关于pInvoke的内容。
我得到了什么:
MyClass.h
class __declspec(dllimport) MyClass : public QObject
{
public:
explicit MyClass(QOjbect *parentObject);
MyClass();
virtual ~MyClass();
public:
Qstring getDeviceName(const QString& deviceNumber);
}
MyClass.cpp
QString MyClass::getDeviceName(const QString& deviceNumber)
{
some logic code here
}
在我的ConsoleApp中,我需要读取此值(将MyClass.dll复制到ConsoleApp \ bin \ Debug目录中):
class Program{
[dllImport("MyClass.dll")]
static extern string getDeviceName(string deviceNumber)
static void Main(string[] args)
{
string name = getDeviceName("13");
}
}
运行构建后,异常出现“DllNotFoundException”,我确信该文件存在。
你知道如何解决它吗? 有没有办法编组像枚举这样的变量?