我正在处理几个使用 COM 的项目,但遇到了问题。我使用的是经过编译和导入的外部 .idl,因此我的项目中只有库是 .idl。
现在编译只包含库的项目内部idl时,在x32配置下没有生成dlldata.c文件。但是,如果我编译项目并且它是 x64 配置下的 .idls,则会生成一个 dlldata.c 文件并且项目工作正常。
我尝试过 Visual Studio for MIDL 中的所有选项,但都无济于事。显然我只能通过添加一个我不想做的虚拟接口(interface)来解决这个问题。
是否有另一种解决方案可以在不添加虚拟接口(interface)的情况下在 x32 配置下生成 dlldata.c 文件?
最佳答案
我找到了解决方案。看来您必须非常小心外部 .idls 的预构建事件。甚至平台也很重要。将/env win32 和/env x64 参数分别编译为每个配置的 MIDL 解决了我的问题。
关于c++ - dlldata.c不是在win32下生成的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18718769/