5

我正在为 C++/CLI 中的本机 C++ 方法编写一个包装器,它将它们暴露给 C#。现在我正在使用 Visual Studio 2008。任何人都可以告诉我我需要创建什么类型的项目,以便我的包装器可以暴露给 C#。我在 Visual Studio 2008 中看到 Visual C++ 下有不同类型的项目--->CLR---->

class library,
CLR Empty Project,
Windows form control library,
CLR Console Application,
Windows Forms Application,
Windows Service

我应该使用哪一个?

4

1 回答 1

7

您必须创建类库类型的项目。最重要的是在Project Properties -> Configuration Properties -> General中指定“Common Language Runtime Support”选项(设置为“Common Language Runtime Support (/clr)”)

这将允许您使用

#pragma managed
... use your native stuff here
#pragma unmanaged

编译指示和与本机 .lib 文件的链接。

有关详细信息,请参阅此链接

http://www.codeguru.com/cpp/cpp/cpp_managed/interop/article.php/c6867/Consuming-Unmanaged-C-Class-Libraries-from-NET-Clients.htm

64 位构建有一个问题(本文未提及)。对于 64 位,“链接器->输入- >强制符号引用”必须设置为“ _DllMainCRTStartup”,对于32 位,必须设置为“_DllMainCRTStartup@12”。

于 2012-05-17T19:41:03.047 回答