使用 Visual Studio 2005,我用 C 语言编写了一个简单的 DLL,它使用 Windows API 发送 UDP 数据报,并与第三方程序挂钩。在 64 位机器上,它根本不起作用,因为在这种情况下第三方代码是为 64 位编译的。所以我需要发布同一个 DLL 的两个版本——一个用于 32 位,一个用于 64 位。
但是,我没有设法让 Visual Studio(在 32 位机器上运行)吐出与 32 位版本不同的 DLL - 似乎项目属性中的“机器”设置被忽略了。一位同事告诉我,VS 2008 在这种情况下根本拒绝交叉编译。这真的完全不可能吗?