如何在Win7 64位上使用VStudio 2013构建32位应用程序?

时间:2016-06-14 15:41:43

标签: visual-studio-2013 32bit-64bit

我正在尝试使用MS Visual Studio 2013和BAT文件在Win7 64位系统上构建32位EXE,而不是在GUI中构建。

根据https://msdn.microsoft.com/en-us/library/f2ccy3wt(v=vs.120).aspx,所有需要做的就是使用“x86”选项运行VCVARSALL。这应该设置一堆环境变量,使工具发出32位代码。当我这样做时,一切都完成没有错误。生成的EXE在64位系统上正确运行。在WinXP 32位系统上会弹出一个窗口,说明它不是有效的32位应用程序。

我已将所有这些放入BAT文件中以准确显示我正在做的事情。此BAT文件删除所有派生文件,以确保它们实际构建,并且不仅仅是在以前的尝试中。它还在VCVARSALL之前设置相关的环境变量(我知道),以确保VCVARSALL没有完全处理的某些奇怪的先前设置。

以下是BAT文件:

@echo off
rem
rem   Test of building a 32 bit executable.
rem
rem   See: https://msdn.microsoft.com/en-us/library/f2ccy3wt(v=vs.120).aspx
rem
setlocal
if exist hello.exe del hello.exe
if exist hello.exp del hello.exp
if exist hello.lib del hello.lib
if exist hello.obj del hello.obj

set include=
set lib=
set libpath=
set VS120COMNTOOLS=
set vstudio=
set PATH=C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem

call "%MSVCDir%\vcvarsall" x86

cl /c hello.c /Fohello.obj
link /out:hello.exe /incremental:no hello.obj

同样,结果是HELLO.EXE在此系统上运行良好,但在32位系统上运行不正确。

如何在这个64位系统上构建32位EXE?

0 个答案:

没有答案