我正在开发一些使用COM的项目,但我遇到了问题。我使用的是编译和导入的外部.idl,因此我的项目只有库中的.idl。
现在,当我编译仅包含库的项目内部idl时,在x32配置下不会生成dlldata.c文件。但是,如果我在x64配置下编译项目并且它是.idls,则会生成一个dlldata.c文件并且项目正常工作。
我尝试了从Visual Studio for MIDL的所有选项,但无济于事。显然我只能通过添加一个我不想做的虚拟接口来解决这个问题。
是否有其他解决办法在x32配置下生成dlldata.c文件而不添加虚拟接口?
答案 0 :(得分:1)
我找到了解决方案。看来你必须非常小心外部.idls的预构建事件。即使是平台也很重要。每个配置使用/ env win32和/ env x64参数编译到MIDL分别解决了我的问题。