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

标签 c++ windows visual-studio com idl

我正在处理几个使用 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/

相关文章:

c++ - C++ 中的复制构造函数?

python - 防止 wxPython 显示 'Unhandled exception' 对话框

python - 在 Windows 10 上为 PyPy3 安装 numpy 时出现问题

c++ - 自动提升算术运算

c++ - 期望标题中的参数

c - 我的dll注入(inject)。编译为 32 位时成功,但编译为 64 位时失败

C#Excel : Correct way to get Rows and Columns count

c# - 为什么 visual studio 中的正则表达式在程序中不起作用?

c++ - 初始值设定项列表的模板替换错误

linux - 查看Linux下存储的windows文件名