我最近想为一个程序构建一个 dll 插件。问题是,该程序是 32 位的,但默认情况下,我的 Visual Studio 2012 的 C++ 编译器创建 64 位二进制文件,我不知道如何更改它 - 我找到了配置管理器并尝试创建一个新平台,但只有 x64作为一种选择。
我是在尝试将目标架构设置在错误的位置还是什么?是否有更新或我可以下载的东西,以便我可以创建我的 dll?是否有我可以在某处设置的编译器开关?
希望这个屏幕有帮助:
我最近想为一个程序构建一个 dll 插件。问题是,该程序是 32 位的,但默认情况下,我的 Visual Studio 2012 的 C++ 编译器创建 64 位二进制文件,我不知道如何更改它 - 我找到了配置管理器并尝试创建一个新平台,但只有 x64作为一种选择。
我是在尝试将目标架构设置在错误的位置还是什么?是否有更新或我可以下载的东西,以便我可以创建我的 dll?是否有我可以在某处设置的编译器开关?
希望这个屏幕有帮助:
要构建 32 位架构,您必须打开项目属性窗口,然后打开链接器选项。
将 Target Machine 选项的值设置为 MachineX86。
您可以使用 Dependency Walker 检查 DLL 是 32 位还是 64 位。您也没有提到/clr
此 DLL 是否使用了选项。使用/CLR
,生成托管二进制文件。尽管此选项不会改变二进制文件的位数,但您可以检查是否是这种情况。