Как преобразовать файл.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