2

我有一个名为 ManagedWrapper 的项目,它是托管 C++ 并构建为 DLL。

我有一个名为 MyManagedTest 的第二个项目,它是托管 C++ 并构建为 DLL。

当我尝试在 MyManagedTest 中包含来自 ManagedWrapper 的标头时,我收到链接器 LNK2020 错误。然后我在“框架和引用”中添加对 ManagedWrapper 的引用,但这会导致编译器错误,指出 ManagedWrapper 中的类已经定义(看起来它正试图在 MyManagedTest 中再次定义它们,因为我包含了头文件),错误 C2011。

将 ManagedWrapper 中的类包含到 MyManagedTest 中的正确方法是什么?

谢谢。

4

1 回答 1

1

您应该使用#include原生类声明和#import托管类声明。添加引用与#import.

顺便说一句,“托管 C++”不是在 VS2008 中将 C++ 与 .NET 一起使用的正确名称。该功能是 C++/CLI。早期版本的 Visual C++ 有一个非常有缺陷的语法,称为“C++ 托管扩展”,通常被称为“托管 C++”,永远不应该使用。

于 2010-08-02T05:01:33.457 回答