“MIDL”属性页

在一个使用 COM 的 C++ 项目中,MIDL 属性页可用作 .IDL 文件的项属性。 使用它们来配置 MIDL 编译器。 有关如何以编程方式访问 C++ 项目的 MIDL 选项的信息,请参阅 VCMidlTool 对象。 另请参阅常规 MIDL 命令行语法

“常规”属性页

预处理器定义

指定一个或多个 define,包括 MIDL 宏 (/D [macros])。

附加包含目录

指定要添加到 include 路径的一个或多个目录 (/I[path])。

其他元数据目录

指定包含 Windows.Foundation.WinMD 文件的目录 (/metadata_dir [path])。

启用 Windows 运行时

启用 Windows 运行时语义以创建 Windows 元数据文件 (/winrt)。

忽略标准 Include 路径

忽略当前目录和 INCLUDE 目录 (/no_def_idir)。

与 MkTypLib 兼容

强制与 mktyplib.exe 版本 2.03 兼容 (/mktyplib203)。

警告级别

选择 MIDL 代码错误的严格性 (/W)。

选择项

  • 1
  • 1
  • 2
  • 3
  • 4

将警告视为错误

使 MIDL 能够将所有警告视为错误 (/WX)。

取消显示启动版权标志

取消显示启动版权标志和信息消息 (/nologo)。

C 编译器 Char 类型

指定 C 编译器的将用来编译生成代码的默认字符类型。 (/char signed|unsigned|ascii7)。

选择项

  • 带符号 - 带符号
  • 无符号 - 无符号
  • Ascii - Ascii

目标环境

指定目标环境 (/env arm32|win32|ia64|x64)。

选择项

  • 未设置 - Win32
  • Microsoft Windows 32 位 - Win32
  • Itanium 上的 Microsoft Windows 64 位 - IA64
  • Microsoft Windows ARM - ARM
  • Microsoft Windows ARM64 - ARM64
  • x64 上的 Microsoft Windows 64 位 - X64

生成无存根代理

使用扩展和无存根代理为对象接口生成完全解析存根(/Oicf/Oif)。

取消编译器警告

取消显示编译器警告消息 (/no_warn)。

应用程序配置模式

允许在 IDL 文件中选择的 ACF 特性 (/app_config)。

区域设置 ID

为输入文件、文件名和目录路径指定 LCID (/lcid DECIMAL)。

多处理器编译

同时运行多个实例。

输出属性页

输出目录

指定输出目录 (/out [directory])。

元数据文件

指定生成的元数据文件的名称 (/winmd filename)。

头文件

指定所生成的头文件的名称 (/h filename)。

DllData 文件

指定 DLLDATA 文件的名称 (/dlldata filename)。

IID 文件

指定接口标识符文件的名称 (/iid filename)。

代理文件

指定代理文件的名称 (/proxy filename)。

生成类型库

指定不生成类型库 ([/notlb] for no)。

类型库

指定类型库文件的名称 (/tlb filename)。

生成客户端存根文件

仅生成客户端存根文件 (/client [stub|none])。

选择项

  • 存根 - 存根
  • - 无

生成服务器存根文件

仅生成服务器存根文件 (/server [stub|none])。

选择项

  • 存根 - 存根
  • - 无

客户端存根文件

指定客户端存根文件 (/cstub [file])。

服务器存根文件

指定服务器存根文件 (/sstub [file])。

类型库格式

指定类型库文件格式 ([/oldtlb|/newtlb])。

选择项

  • NewFormat - 新格式
  • OldFormat - 旧格式

高级属性页

C 预处理选项

指定要传递到 C 编译器预处理器的开关 (/cpp_opt switches)。

取消定义预处理器定义

指定一个或多个 undefine,包括 MIDL 宏 (/U [macros])。

启用错误检查

选择错误检查选项 ([/error all|none])。

选择项

  • EnableCustom - 全部
  • 全部 - 全部
  • - 无

检查分配

检查内存不足错误 (/error allocation)。

检查边界

检查大小与传输长度规范 (/error bounds_check)。

检查枚举范围

检查枚举值是否在允许的范围内 (/error enum)。

检查引用指针

检查引用指针是否为非 null (/error ref)。

检查存根数据

发出其他检查,检查服务器端存根数据有效性 (/error stub_data)。

预置“ABI”命名空间

将“ABI”命名空间预置到所有类型。 (/ns_prefix)。

验证参数

生成其他信息以验证参数 (/robust | /no_robust)。

结构成员对齐

指定目标系统中结构的封装级别 (/ZpN)。

选择项

  • 未设置 - 未设置
  • 1 字节 - Zp1
  • 2 字节 - Zp2
  • 4 字节 - Zp4
  • 8 字节 - Zp8

重定向输出

将输出从屏幕重定向到某个文件 (/o file)。

最低目标系统

设置最低目标系统 (/target STRING)。