2011-06-23 15 views
6

Estoy tratando de convertir mscorlib.tlb. Se usa normalmente en C++ como esto:¿Cómo convierto un archivo .tlb en encabezados y archivos de implementación?

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

¿Cómo puedo convertir a los encabezados y archivos de implementación?

Pude usar Visual Studio para compilar un archivo cpp ficticio que contenía las líneas de arriba, y produjo un archivo .tlh. ¿No debería haber también archivos de implementación?

+0

Hasta voto - Me dijo cómo deshacerse de las advertencias para ReportEvent. – Eli

Respuesta

6

Puede dividir la implementación y la definición utilizando los parámetros "no_implementation" e "implementation_only" para # import. Estos generan archivos .tlh (encabezado de biblioteca de tipo) y .tli (tipo de implementación de biblioteca).

normalmente pongo el siguiente en un archivo de cabecera (como stdafx.hy):

#import "C:\Windows\Microsoft.NET\Framework64\v2.0.50727\mscorlib.tlb" no_implementation 

Y el siguiente en un archivo .cpp (como stdafx.cpp):

#import "C:\Windows\Microsoft.NET\Framework64\v2.0.50727\mscorlib.tlb" implementation_only 
Cuestiones relacionadas