c++ - 在 midl 生成的头文件中定义一个结构

标签 c++ visual-studio visual-c++ midl visual-studio-6

我在自动化遗留产品的构建过程中遇到了困难...

我有一个在 VC++ 6.0 中编译的 .idl 文件,使用 midl 生成一个 .tlb、.h 和 .c 文件,其中包含要添加的手动构建步骤:

struct StructDef;

就在生成的 .h 文件中的 MIDL_INTERFACE 之前。 .h 文件的其余部分使用定义,在添加之前我无法编译。

我正在寻找一种使用结构定义自动生成头文件的方法(首选),或者至少是一种通过自定义构建步骤自动执行此代码添加步骤的方法。

最佳答案

#pragma midl_echo指示 MIDL 将任意一段文本插入到生成的头文件中。你可以像这样使用它:

#pragma midl_echo("struct StructDef;")

看来 cpp_quote属性提供了类似的功能。

或者,如果您有 Cygwin安装后,您可能会发现使用 sed 后处理头文件更简单(或更可取)在自定义构建步骤中。那也行。

关于c++ - 在 midl 生成的头文件中定义一个结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1752347/

相关文章:

c++ - 为一组 C++ 指针定义 operator<

c++ - `IDispatch::GetTypeInfo()` 接口(interface)是怎么回事?

visual-studio - MSBuild:在 Visual Studio 中构建解决方案后运行目标

c++ - 简单的 websockets 聊天客户端不发送消息

c++ - C++ 中可变数量的变量

c# - 如何更改现有命名管道的安全性?

visual-studio - Visual Studio 多个启动项目 - 仅重启一个项目

c++ - 为什么std :set (with a single colon) compile?可以

c++ - 不同编译器的C++虚继承实现不兼容?

c++ - C3321 : an initializer list is unexpected in this context