此版本...与您正在运行的Windows版本不兼容

时间:2014-05-05 17:37:46

标签: windows visual-studio-2010 visual-studio vim windows-7

我是Windows 7(32位)计算机上的非管理员用户,也是Windows 7 64位计算机上的管理员用户。我正在尝试从源代码构建Vim文本编辑器以安装在32位机器上(到我有权访问的地方,如C:\ Vim)。

现在,我已经在64位计算机上成功构建了64位和32位版本的Vim。它们都可以在64位计算机上正常运行。我可以使用“dumpbin.exe”验证详细的here 32位构建实际上是32位构建。在运行32位版本时在Vim中执行“:version”也证实了这一点。

但是当我尝试在32位计算机上运行相同的可执行文件时,我看到“此版本的gvim.exe与您正在运行的Windows版本不兼容。请检查计算机的系统信息以查看是否需要该程序的x86(32位)或x64(64位)版本,然后与软件发行商联系。“为了踢,我尝试了64位构建的Vim并得到了相同的消息。我在运行之前尝试在可执行文件上设置兼容模式,但得到的结果相同。此外,只有“Windows Server 2008”和几个版本的“Windows Vista”出现在兼容模式列表中:我打算尝试使用Windows XP,但它不会出现在列表中。

现在,当我从cream.sf.net下载安装程序而不是尝试构建我自己的Vim时,Vim安装正常,然后启动正常。我可以在已安装的可执行文件的兼容模式列表中看到我最初预期的完整列表。所以我在构建时一定做错了。

我能想到的唯一区别是,我正在使用64位计算机进行编译,并使用Visual Studio 2010而不是Cygwin进行构建。但是32位和64位构建都不起作用,这很奇怪;我总是希望其中至少有一个能够奏效!我能做错什么?

1 个答案:

答案 0 :(得分:1)

它与Vim无关。最新版本的MSVC使用32位二进制文​​件的新格式,这与XP不兼容。您可以使用flag / config选项在MSVC中更改回旧格式。我确定这适用于VS 2013(在64位计算机上编译)和2012 SP1。根据{{​​3}},如果你this post,那么2010年也是可能的。