2

我最近想为一个程序构建一个 dll 插件。问题是,该程序是 32 位的,但默认情况下,我的 Visual Studio 2012 的 C++ 编译器创建 64 位二进制文​​件,我不知道如何更改它 - 我找到了配置管理器并尝试创建一个新平台,但只有 x64作为一种选择。

我是在尝试将目标架构设置在错误的位置还是什么?是否有更新或我可以下载的东西,以便我可以创建我的 dll?是否有我可以在某处设置的编译器开关?

希望这个屏幕有帮助:

在此处输入图像描述

4

2 回答 2

2

要构建 32 位架构,您必须打开项目属性窗口,然后打开链接器选项。

将 Target Machine 选项的值设置为 MachineX86。

于 2014-12-13T00:20:59.107 回答
1
  • 检查构建配置(构建 -> 配置管理器),并确保选择 32 位的 DLL 项目。
  • 检查链接器设置,并确保给出正确的路径。
  • 构建后,检查 .DLL 是否以正确的路径生成,并且是 32 位的(应该是!)。

您可以使用 Dependency Walker 检查 DLL 是 32 位还是 64 位。您也没有提到/clr此 DLL 是否使用了选项。使用/CLR,生成托管二进制文件。尽管此选项不会改变二进制文件的位数,但您可以检查是否是这种情况。

于 2013-03-30T11:26:22.623 回答