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

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

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

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

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


person jcao219    schedule 23.06.2011    source источник
comment
Голосование "за" - подсказали, как избавиться от предупреждений для ReportEvent.   -  person Eli    schedule 18.08.2011


Ответы (1)


Вы можете разделить реализацию и объявление, используя параметры «no_implementation» и «implementation_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
person Eli    schedule 17.08.2011
comment
Я полагаю, вы упомянули implementation and DECLARATION .... не определение. - person dmytro.poliarush; 18.12.2019