如何通过从Windows中的源代码构建gvim / vim来添加“-with-python”选项

时间:2014-03-12 11:21:39

标签: python vim build cygwin ncurses

我试图在Windows中从源代码构建vim / gvim好几天了。并且,该建筑实际上以CygWinWinGW两种方式工作。

但是,python未在我的(g)vim.exe中被“添加”(已禁用pyflakes.vim):

:echo has('python')
0

这是我的命令:

Cygwin的:

make -f Make_cyg.mak PYTHON=/cygdrive/c/Marslo/MyProgram/Python27 DYNAMIC_PTYHON=yes PYTHON_VER=27 PYTHON3=/cygdrive/c/Marslo/MyProgram/Python33 DYNAMIC_PYTHON3=yes PYTHON3_VER=33 FEATURES=huge IME=yes CPUNR=i686 ARCH=i686 GUI=yes USERNAME=Marslo.Jiao USERDOMAIN=CHINA

WinGW:

$ make -f Make_ming.mak PYTHON=C:\Marslo\MyProgram\Python27 DYNAMIC_PYTHON=yes PYTHON_VER=27 PYTHON3=C:\Marslo\MyProgram\Python33 DYNAMIC_PYTHON=yes PYTHON3_VER=33 FEATURES=HUGE GUI=yes IME=yes USERNAME=Marslo.Jiao USERDOMAIN=CHINA

我已检查gvim.exe --version+python/dyn 只能找到+python 缺失

以下是gvim.exe --version

VIM - Vi IMproved 7.4 (2013 Aug 10, compiled Mar 13 2014 12:07:56)
MS-Windows 32-bit GUI version
Included patches: 1-193
Compiled by Marslo.Jiao@CHINA
Big version with GUI.  Features included (+) or not (-):
+acl                +ex_extra           +multi_byte_ime/dyn +tag_old_static
+arabic             +extra_search       +multi_lang         -tag_any_white
+autocmd            +farsi              -mzscheme           -tcl
+balloon_eval       +file_in_path       +netbeans_intg      -tgetent
+browse             +find_in_path       -ole                -termresponse
++builtin_terms     +float              +path_extra         +textobjects
+byte_offset        +folding            -perl               +title
+cindent            -footer             +persistent_undo    +toolbar
+clientserver       +gettext/dyn        -postscript         +user_commands
+clipboard          -hangul_input       +printer            +vertsplit
+cmdline_compl      +iconv/dyn          -profile            +virtualedit
+cmdline_hist       +insert_expand      +python/dyn         +visual
+cmdline_info       +jumplist           +python3/dyn        +visualextra
+comments           +keymap             +quickfix           +viminfo
+conceal            +langmap            +reltime            +vreplace
+cryptv             +libcall            +rightleft          +wildignore
+cscope             +linebreak          -ruby               +wildmenu
+cursorbind         +lispindent         +scrollbind         +windows
+cursorshape        +listcmds           +signs              +writebackup
+dialog_con_gui     +localmap           +smartindent        -xfontset
+diff               -lua                -sniff              -xim
+digraphs           +menu               +startuptime        -xterm_save
-dnd                +mksession          +statusline         -xpm_w32
-ebcdic             +modify_fname       -sun_workshop       
+emacs_tags         +mouse              +syntax             
+eval               +mouseshape         +tag_binary         
   system vimrc file: "$VIM\vimrc"
     user vimrc file: "$HOME\_vimrc"
 2nd user vimrc file: "$HOME\vimfiles\vimrc"
 3rd user vimrc file: "$VIM\_vimrc"
      user exrc file: "$HOME\_exrc"
  2nd user exrc file: "$VIM\_exrc"
  system gvimrc file: "$VIM\gvimrc"
    user gvimrc file: "$HOME\_gvimrc"
2nd user gvimrc file: "$HOME\vimfiles\gvimrc"
3rd user gvimrc file: "$VIM\_gvimrc"
    system menu file: "$VIMRUNTIME\menu.vim"
Compilation: i686-pc-mingw32-gcc -O3 -fomit-frame-pointer -freg-struct-return -fno-strength-reduce -DWIN32 
-DHAVE_PATHDEF -DFEAT_huge -DWINVER=0x0500 -D_WIN32_WINNT=0x0500 -DFEAT_PYTHON 
-DDYNAMIC_PYTHON -DDYNAMIC_PYTHON_DLL="python27.dll" -DFEAT_PYTHON3 -DDYNAMIC_PYTHON3 
-DDYNAMIC_PYTHON3_DLL="python33.dll" -DDYNAMIC_GETTEXT -DDYNAMIC_ICONV -DFEAT_MBYTE 
-DFEAT_MBYTE_IME -DDYNAMIC_IME -DFEAT_CSCOPE -DFEAT_NETBEANS_INTG -DFEAT_GUI_W32 
-DFEAT_CLIPBOARD -march=i686 -Iproto -s
Linking: i686-pc-mingw32-gcc -s -o gvim.exe  -luuid -lole32 -lwsock32 -mwindows -lcomctl32 -lversion

我该怎么办?

1 个答案:

答案 0 :(得分:0)

@FvD,最后,我找到了原因。

Cygwin或WinGW的命令都没问题。问题来自Python(令人惊讶,Uhun?)!!

Python2x或Python3x都应该安装为 32位版本

因为我的计算机系统是64位,所以我把python2 / 3下载为x86_64,这导致vim无法动态加载python lib。

我不知道python版本究竟出了什么问题。我认为这是因为我的Gvim / Vim都是32位。