我最近想为一个程序构建一个dll插件。问题是,该程序是32位,但默认情况下,我的Visual Studio 2012的C++编译器创建64位二进制文件,我不知道如何更改它 - 我找到了配置管理器并试图创建一个新平台,但只有x64作为一个选项。64位系统上的Visual Studio 2012 32位编译
我想在错误的地方设置目标架构,或者是什么?是否有更新或我可以下载的东西,以便我可以创建我的DLL?有没有可以在某处设置的编译器开关?
希望这有助于屏幕:
我最近想为一个程序构建一个dll插件。问题是,该程序是32位,但默认情况下,我的Visual Studio 2012的C++编译器创建64位二进制文件,我不知道如何更改它 - 我找到了配置管理器并试图创建一个新平台,但只有x64作为一个选项。64位系统上的Visual Studio 2012 32位编译
我想在错误的地方设置目标架构,或者是什么?是否有更新或我可以下载的东西,以便我可以创建我的DLL?有没有可以在某处设置的编译器开关?
希望这有助于屏幕:
您可以使用Dependency Walker来检查DLL是32位还是64位。 你也没有提及/clr
选项是否与这个DLL一起使用。使用/CLR
,将生成托管二进制文件。虽然这个选项不会改变二进制文件的位数,但你可以检查是否是这种情况。
要构建32位体系结构,必须打开项目属性窗口,然后打开链接器选项。
将目标机器选项的值设置为MachineX86。
您的活动平台是win32(意味着32位),那么你的问题是什么?您可能想要测试这个[pe inspectore](http://www.ntcore.com/exsuite.php),这非常有帮助。 – rekire
您的屏幕截图清楚地显示您的项目不是**创建64位可执行文件。您已将Win32配置作为默认配置。所以当它提示你一个**新**平台时,它只会提供64位选项。无论你的问题是什么,它都不是你想象的那样。 –