使用 Visual Studio 2005,我用 C 编写了一个简单的 DLL,它使用 Windows API 发送 UDP 数据报,并挂接到第三方程序中。在 64 位机器上,它根本不起作用,因为在这种情况下第三方代码是为 64 位编译的。所以我需要发布同一个 DLL 的两个版本 - 一个用于 32 位,一个用于 64 位。
但是,我没有设法让 Visual Studio(在 32 位机器上运行)吐出一个与 32 位版本不同的 DLL - 似乎项目属性中的“机器”设置被简单地忽略了.一位同事告诉我 VS 2008 在这种情况下根本拒绝交叉编译。这真的不可能吗?
最佳答案
在解决方案资源管理器中右键单击项目,然后转到属性/配置管理器/事件解决方案平台:<New...>
/x64/确定/关闭。然后在 Platform 中选择 x64,OK,就可以了。
关于c - 如何在 32 位计算机上使用 VS 2005 交叉编译 64 位 DLL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1042453/