如何将 .tlb 文件转换为头文件和实现文件?
Posted
技术标签:
【中文标题】如何将 .tlb 文件转换为头文件和实现文件?【英文标题】:How do I convert a .tlb file to headers and implementation files? 【发布时间】:2011-09-21 14:50:20 【问题描述】:我正在尝试转换 mscorlib.tlb。 它通常在 C++ 中这样使用:
#import "mscorlib.tlb" raw_interfaces_only \
high_property_prefixes("_get","_put","_putref") \
rename("ReportEvent", "InteropServices_ReportEvent")
如何将其转换为头文件和实现文件?
我能够使用 Visual Studio 编译一个包含上述行的虚拟 cpp 文件,并生成一个 .tlh 文件。不应该还有实现文件吗?
【问题讨论】:
赞成票 - 告诉我如何摆脱 ReportEvent 的警告。 【参考方案1】:您可以使用#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
【讨论】:
我相信你提到了implementation and DECLARATION
.... 不是定义。以上是关于如何将 .tlb 文件转换为头文件和实现文件?的主要内容,如果未能解决你的问题,请参考以下文章