这是我完成的步骤。
我使用 C# 创建了一个 .dll 文件,内容如下
public static int MyFunction(int dummy) { MessageBox.Show("I am in dll"); return 0; }
我还创建了一个 MFC 应用程序 (exe),内容如下
int main() { int a = MyFunction(0); return 0; }
这是打电话的正确方式吗?
注意:
我。我已将我的 MFC 应用程序更改为/cl(公共(public)语言运行时支持) 二.我还在 MFC 的引用中添加了 C# 文件。
我遇到的问题:
Error 1 error C3861: 'MyFunction': identifier not found
Warning 2 warning C4793: 'MyDialog::`vcall'{132}'' : function compiled as native :
我在 MyDialog.cpp 文件中使用了以下命令作为最后一行,警告已解决。
#pragma unmanaged
现在如何解决错误?
最佳答案
C# 代码放在一个类中,比如 MyClass
。如果要在 C++/CLI 中调用此类的静态成员,则需要使用 MyClass::MyFunction(0)
。
最后,您需要添加命名空间:MyNamespace::MyClass::MyFunction(0)
。
关于c# - 如何在 Visual C++ 中使用使用 C# 创建的 dll?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20563853/