1

我正在处理一些使用 COM 的项目,但遇到了问题。我正在使用一个已编译和导入的外部 .idl,因此我的项目只有 .idl 中的库。

现在当我编译项目的内部 idl 只包含库时,在 x32 配置下没有生成 dlldata.c 文件。但是,如果我编译项目并且它是 x64 配置下的 .idls,则会生成一个 dlldata.c 文件并且项目工作正常。

我已经尝试过 Visual Studio for MIDL 的所有选项,但无济于事。显然我只能通过添加一个我不想做的虚拟接口来解决这个问题。

是否有另一种解决方案可以在不添加虚拟接口的情况下在 x32 配置下生成 dlldata.c 文件?

4

1 回答 1

1

我找到了解决方案。似乎您必须非常小心外部 .idls 的预构建事件。甚至平台也很重要。为每个配置分别使用 /env win32 和 /env x64 参数编译到 MIDL 解决了我的问题。

于 2013-09-10T12:49:24.590 回答