2

Я пытаюсь построить 64-битную VIM на Win7 64-битной с Visual Studio 2008. Мой python34 является 64-битной версией.

Ниже то, что я сделал.

  1. HG, чтобы получить источник VIM.
  2. set VCDIR="C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC"
  3. вызовите %VCDIR%\bin\amd64\vcvarsamd64.bat
  4. %VCDIR%\bin\nmake -f Make_mvc.mak CPU=AMD64 GUI=yes OLE=yes PYTHON3=C:\Python34 DYNAMIC_PYTHON3=yes PYTHON3_VER=34 CSCOPE=yes FEATURES=HUGE ARABIC=no FARSI=no OPTIMIZE=SPEED

но когда сборка не удалась с

link /RELEASE /nologo /subsystem:windows /LTCG:STATUS -out:gvim.exe .\ObjGOHAMD64\blowfish.obj  .\ObjGOHAMD64\buffer.obj  .\ObjGOHAMD64\charset.obj  .\ObjGOHAMD64\diff.obj  .\ObjGOHAMD64\digraph.obj  .\ObjGOHAMD64\edit.obj
  .\ObjGOHAMD64\eval.obj  .\ObjGOHAMD64\ex_cmds.obj  .\ObjGOHAMD64\ex_cmds2.obj  .\ObjGOHAMD64\ex_docmd.obj  .\ObjGOHAMD64\ex_eval.obj  .\ObjGOHAMD64\ex_getln.obj  .\ObjGOHAMD64\fileio.obj  .\ObjGOHAMD64\fold.obj  .\ObjGOHAMD64\getchar.obj  .\ObjGOHAMD64\hardcopy.obj  .\ObjGOHAMD64\hashtab.obj  .\ObjGOHAMD64\main.obj  .\ObjGOHAMD64\mark.obj  .\ObjGOHAMD64\mbyte.obj  .\ObjGOHAMD64\memfile.obj  .\ObjGOHAMD64\memline.obj  .\ObjGOHAMD64\menu.obj  .\ObjGOHAMD64\message.obj  .\ObjGOHAMD64\misc1.obj  .\ObjGOHAMD64\misc2.obj  .\ObjGOHAMD64\move.obj  .\ObjGOHAMD64\normal.obj  .\ObjGOHAMD64\ops.obj  .\ObjGOHAMD64\option.obj  .\ObjGOHAMD64\os_mswin.obj  .\ObjGOHAMD64\winclip.obj  .\ObjGOHAMD64\os_win32.obj  .\ObjGOHAMD64\pathdef.obj  .\ObjGOHAMD64\popupmnu.obj  .\ObjGOHAMD64\quickfix.obj  .\ObjGOHAMD64\regexp.obj  .\ObjGOHAMD64\screen.obj  .\ObjGOHAMD64\search.obj  .\ObjGOHAMD64\sha256.obj  .\ObjGOHAMD64\spell.obj  .\ObjGOHAMD64\syntax.obj  .\ObjGOHAMD64\tag.obj  .\ObjGOHAMD64\term.obj  .\ObjGOHAMD64\ui.obj  .\ObjGOHAMD64\undo.obj
  .\ObjGOHAMD64\window.obj  .\ObjGOHAMD64\vim.res .\ObjGOHAMD64\gui.obj  .\ObjGOHAMD64\gui_beval.obj  .\ObjGOHAMD64\gui_w32.obj  .\ObjGOHAMD64\os_w32exe.obj .\ObjGOHAMD64\if_ole.obj      .\ObjGOHAMD64\if_python3.obj     .\ObjGOHAMD64/if_cscope.obj .\ObjGOHAMD64/netbeans.obj  .\ObjGOHAMD64/xpm_w32.obj .\ObjGOHAMD64\version.obj oldnames.lib kernel32.lib advapi32.lib shell32.lib gdi32.lib  comdlg32.lib ole32.lib uuid.lib /machine:AMD64 /nodefaultlib gdi32.lib version.lib   winspool.lib comctl32.lib advapi32.lib shell32.lib  /machine:AMD64 /nodefaultlib libcmt.lib oleaut32.lib  user32.lib       /nodefaultlib:python34.lib    WSock32.lib xpm\x64\lib\libXpm.lib /PDB:gvim.pdb -debug
fatal error C1905: Front end and back end not compatible (must target same processor).
LINK : fatal error LNK1257: code generation failed

Вы видите, что link.exe все еще пытается связать некоторые 32-битные библиотеки.

Можете ли вы сказать мне, как я могу решить это?

Обновить:

мой питон говорит мне, что: Python 3.4.0 (v3.4.0: 04f714765c13, 16 марта 2014, 19:25:23) [MSC v.1600 64 бит (AM D64)] на win32

Я не знаю, почему в конце 64-битного питона есть win32 . или кто-то знает где взять 64-битный питон на win64?

1 ответ1

0

После прочтения файла Make_mvc.bat в моем рабочем пространстве снова и прислушиваясь к советам Бена, я наконец-то успешно скомпилировал 64-битный vim.

Причина, по которой я потерпел неудачу, заключается в том, что упомянул Бен, остался предыдущий сборник.

Если вы столкнулись с той же проблемой снова, проверьте, есть ли у вас такие папки, как "ObjGOHAMD64". Вы можете удалить его вручную для чистой сборки.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .