![](/img/trans.png)
[英]MinGW .h compiled files not working: The version of this file is not compatible with the version of Windows you're running
[英]This version…is not compatible with the version of Windows you're running
我是Windows 7(32位)計算機上的非管理員用戶,也是Windows 7 64位計算機上的管理員用戶。 我正在嘗試從源代碼構建Vim文本編輯器,以將其安裝在32位計算機上(到我可以訪問的位置,例如C:\\ Vim)。
現在,我已經在64位計算機上成功構建了64位和32位版本的Vim。 它們都可以在64位計算機上正常運行。 我可以通過“ dumpbin.exe”進行詳細的驗證, 這里的32位版本實際上就是32位版本。 在運行32位構建的Vim中執行“:version”也可以確認這一點。
但是,當我嘗試在32位計算機上運行相同的可執行文件時,看到“ 此版本的gvim.exe與您正在運行的Windows版本不兼容。請檢查計算機的系統信息以查看是否需要x86( 32位)或x64(64位)版本的程序,然后與軟件發行商聯系 。” 對於踢球,我嘗試了Vim的64位版本,並得到了相同的消息。 我嘗試在運行可執行文件之前設置兼容模式,但得到相同的結果。 此外,兼容模式列表中僅顯示“ Windows Server 2008”和幾個版本的“ Windows Vista”:我正嘗試Windows XP,但未顯示在列表中。
現在,當我從cream.sf.net下載安裝程序而不是嘗試構建自己的Vim時,Vim可以很好地安裝然后啟動。 我可以在已安裝的可執行文件的兼容模式列表中看到我最初期望的完整列表。 因此,在構建時我一定做錯了什么。
我能想到的唯一區別是,我正在64位計算機上進行編譯,並使用Visual Studio 2010而非Cygwin進行構建。 但是,很奇怪的是32位和64位構建都不起作用。 我總是希望其中至少有一個工作! 我可能做錯了什么?
與Vim無關。 最新版本的MSVC使用32位二進制文件的新格式,該格式與XP不兼容。 您可以使用標志/配置選項更改回MSVC中的舊格式。 我確定這可以與VS 2013(在64位計算機上編譯)和2012 SP1一起使用 。 根據這篇文章 ,如果您定義NTDDI_<version>
和_WIN32_WINNT
則也可以在2010年使用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.