Как преобразовать файл.tlb в заголовки и файлы реализации?

Я пытаюсь конвертировать mscorlib.tlb. Обычно это используется в C++, как это:

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

Как я могу преобразовать это в заголовки и файлы реализации?

Я смог использовать Visual Studio для компиляции фиктивного файла cpp, который содержал строки выше, и он создал файл.tlh. Разве не должно быть файлов реализации?

1 ответ

Решение

Вы можете разделить реализацию и определение, используя параметры "no_implementation" и "creation_only" для #import. Они генерируют файлы.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
Другие вопросы по тегам