如何在32位计算机上与VS 2005交叉编译64位DLL?

使用Visual Studio 2005,我在C中编写了一个简单的DLL,它使用Windows API发送UDP数据报,并将其连接到第三方程序。 在64位计算机上,它根本不起作用,因为在这种情况下第三方代码编译为64位。 所以我需要发送同一个DLL的两个版本 – 一个用于32位,一个用于64位。

但是,我没有设法让Visual Studio(在32位机器上运行)吐出一个与32位版本不同的DLL – 似乎只是忽略了项目属性中的“机器”设置。 一位同事告诉我,VS 2008在这种情况下只是拒绝交叉编译。 这根本不可能吗?

在Solution Explorer中右键单击该项目,然后转到Properties / Configuration Manager / Active Solution平台: / x64 / OK / Close。 然后在Platform中选择x64,OK,你就可以了。