dlldata.c不是在win32下生成的?

我正在使用COM的一些项目,我遇到了一个问题。 我正在使用一个编译和导入的外部.idl,所以我的项目只有它的.idl库。

现在,当我编译项目的内部idl只包含库,在x32configuration下不生成dlldata.c文件。 但是,如果我编译项目,它是在x64configuration下的.idls,生成一个dlldata.c文件,项目工作正常。

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

是否有另一种解决scheme来生成x32configuration下的dlldata.c文件,而不添加虚拟接口?

我找到了解决方案。 看起来,您必须非常小心使用外部.idls的预生成事件。 即使是平台也很重要。 用/ env win32和/ env x64参数编译到MIDL的每个配置分别解决了我的问题。