在 Visual Studio 中,当您编译 foo.idl 时,MIDL 会在 foo_p.c 中生成代理信息。
不幸的是,对于 Win32 和 x64 文件,它使用相同的文件名。对于 Win32,文件开头为:
#if !defined(_M_IA64) && !defined(_M_AMD64)
对于 x64,文件开头为:
#if defined(_M_AMD64)
当您为 Win32 构建然后立即为 x64 构建时,它不会替换 foo_p.c 文件,这意味着项目无法链接。
我尝试了一个预构建事件,如果它用于错误的体系结构,则删除 foo_p.c 文件,但 VS 甚至不费心运行该步骤。
我应该如何获得它以便我可以构建一个配置然后另一个?