在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甚至不打算运行该步骤.
我应该如何获得它以便我可以构建一个配置然后另一个配置?