在 midl 生成的头文件中定义结构体
我正在自动化构建遗留产品,但遇到了困难...
我有一个 .idl 文件,它是使用 midl 在 VC++ 6.0 中编译的,以生成 .tlb、.h 和 .c 文件,该文件具有要添加的手动构建步骤:
struct StructDef;
位于生成的 .h 文件中的 MIDL_INTERFACE 之前。 .h 文件的其余部分使用该定义,在添加此定义之前我无法编译。
我正在寻找一种使用结构定义自动生成头文件的方法(首选),或者至少是一种通过自定义构建步骤自动执行此代码添加步骤的方法。
I am in the process of automating the build of a legacy product and have hit a wall...
I have a .idl file that is compiled in VC++ 6.0 using midl to generate a .tlb, .h and .c file that has a manual build step to add:
struct StructDef;
Just ahead of an MIDL_INTERFACE in the generated .h file. The rest of the .h file uses the definition, and I cannot compile until this is added.
I am looking for a way to autogenerate the header file with the struct definition (preferred), or at least a way to automate this code adding step through a custom build step.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
#pragma midl_echo
指示 MIDL 将任意文本插入生成的头文件中。您可以这样使用它:看来 < code>cpp_quote 属性提供类似的功能。
或者,如果您安装了 Cygwin,您可能会发现后处理更简单(或者更好)自定义构建步骤中使用
sed
的头文件。那也行。#pragma midl_echo
instructs MIDL to insert an arbitrary piece of text into the generated header file. You can use it like this:It appears that the
cpp_quote
attribute provides similar functionality.Alternatively, if you have Cygwin installed, you may find it simpler (or just preferable) to post-process the header file with
sed
in a custom build step. That would work as well.