我有需要在我们小组的新 C# 程序中使用的本机 C++ dll。我想为本地 C++ dll 创建 C++/CLI 包装器,以便能够在 C# 中导入和编译它们。
我需要知道的是如何首先在包装源文件中加载dll文件。与 #using <...> 对 MSIL 所做的完全相同,但用于加载本机 C++ dll。
此外,dll 中的对象和命名空间将如何(从语法上)变得可访问?
编辑:
我用
class __declspec(dllexport) radar
{
// declarations and definitions
...
};
从我的radar.dll中导出我的雷达类,并需要将其导入VC++(CLI)程序中,如下所示:__declspec(dllimport) public class radar;
以便将其定义到C#中,但我绝对看不到C#中的雷达,因为它没有定义在 VC++(CLI) 中公开。即使我想在 VC++ dll 的代码中使用本机 dll 的对象,就像radar pos1();
我得到的:
error C2512: 'radar' : no appropriate default constructor available
手头只有雷达声明,怎么能做到这一点?
结束编辑。
谢谢!