Definir una estructura en un archivo de cabecera generada midl
-
20-09-2019 - |
Pregunta
Estoy en el proceso de automatización de la acumulación de un producto heredado y han chocado contra un muro ...
Tengo un archivo .idl que se compila en VC ++ 6.0 utilizando midl para generar un .tlb, .hy archivo .c que tiene un paso de generación manual de añadir:
struct StructDef;
Justo delante de un MIDL_INTERFACE en el archivo .h generado. El resto del archivo .h utiliza la definición, y no puede compilar hasta que esto se añadió.
Estoy buscando una manera de autogenerar el archivo de cabecera con la definición struct (preferido), o por lo menos una forma de automatizar el código añadiendo paso a través de un paso de generación.
Solución
#pragma midl_echo
instruye MIDL para insertar una pieza arbitraria de texto en el archivo de cabecera generado. Se puede utilizar de esta manera:
#pragma midl_echo("struct StructDef;")
Parece que el cpp_quote
atributo proporciona una funcionalidad similar.
Por otra parte, si usted tiene Cygwin instalado, puede que le resulte más sencillo (o simplemente preferible) para enviar -process el archivo de cabecera con sed
en un paso de generación. Eso funcionaría también.