Как преобразовать файл .tlb в заголовки и файлы реализации? - PullRequest
6 голосов
/ 24 июня 2011

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

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

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

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

1 Ответ

8 голосов
/ 18 августа 2011

Вы можете разделить реализацию и определение, используя параметры "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
...