9

我正在尝试转换 mscorlib.tlb。它通常在 C++ 中这样使用:

#import "mscorlib.tlb" raw_interfaces_only              \
     high_property_prefixes("_get","_put","_putref")        \
     rename("ReportEvent", "InteropServices_ReportEvent")

如何将其转换为头文件和实现文件?

我能够使用 Visual Studio 编译一个包含上述行的虚拟 cpp 文件,并生成一个 .tlh 文件。不应该还有实现文件吗?

4

1 回答 1

10

您可以使用#import 的“no_implementation”和“implementation_only”参数来拆分实现和声明。这些生成 .tlh(类型库头文件)和 .tli(类型库实现)文件。

我通常将以下内容放入头文件(如 stdafx.h):

#import "C:\Windows\Microsoft.NET\Framework64\v2.0.50727\mscorlib.tlb" no_implementation

并将以下内容放入 .cpp 文件(如 stdafx.cpp):

#import "C:\Windows\Microsoft.NET\Framework64\v2.0.50727\mscorlib.tlb" implementation_only
于 2011-08-17T22:46:42.633 回答