如何将一个.tlb文件转换为头文件和执行文件?

问题描述 投票:7回答:1

我想转换mscorlib.tlb.它通常在C++中这样使用。

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

我如何将它转换为头文件和执行文件?

我能够用Visual Studio编译一个包含上面几行的dummy cpp文件,并生成一个.tlh文件。 是不是也应该有实现文件?

com idl mscorlib typelib clr-hosting
1个回答
9
投票

你可以通过使用 "no_implementation "和 "implement_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
© www.soinside.com 2019 - 2024. All rights reserved.