我有一个 C++ 项目。我承认我在 C++ 中完全是零。但是我仍然需要编写一个 c++.net 包装器,这样我就可以使用它来处理一个非托管 c++ 库。所以我有什么: 1) 非托管项目的头文件。 2) 非托管项目的库(.dll 和 .lib) 3) 一个空的 C++.NET 项目,我计划将其用作我的 c# 应用程序的包装器
我该如何开始?我什至不知道如何设置对非托管库的引用。
求救
最佳答案
http://www.codeproject.com/KB/mcpp/quickcppcli.aspx#A8
这是大方向。您需要创建 C++/CLI 类库项目,向其中添加 .NET 类(本示例中的StudentWrapper),创建非托管类实例作为托管类成员,并包装每个非托管类函数。使用链接器依赖项列表将非托管库添加到 C++/CLI 项目中,而不是作为引用。在 Project - Properties - Linker 打开 Additional Dependencies 并在其中添加 .lib 名称。
注意:因为我们谈论的是 C++/CLI 包装器,所以没有 PInvoke! PInvoke 用于调用导出函数 (API),而不是类。
关于c# - 创建简单的 c++.net 包装器。一步步,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2637571/