使用MinGW构建vim

时间:2012-12-20 16:22:59

标签: vim mingw build-process

我正在尝试通过在vim存储库根目录中运行./configure && make来使用MinGW构建vim,但是我收到以下错误:

checking --with-tlib argument... empty: automatic terminal library selection
checking for tgetent in -ltinfo... no
checking for tgetent in -lncurses... no
checking for tgetent in -ltermlib... no
checking for tgetent in -ltermcap... no
checking for tgetent in -lcurses... no
no terminal library found
checking for tgetent()... configure: error: NOT FOUND!
      You need to install a terminal library; for example ncurses.
      Or specify the name of the library with --with-tlib.
C:\pdev\MinGW\bin\sed.exe: -e expression #1, char 1: unknown command: `C'

在研究这个问题时,我遇到了this post on the vim_use Google Groups, 它描述了完全相同的问题。它有一个回复,建议搜索MinGW curses包。 我找到了a repository of MinGW packages,但那里没有任何傻瓜。而且,他们真的很老 - 最新的 2003年更新。

如果我切换到src目录并从那里运行make,那么构建过程 启动并完成witHout错误。它会生成一些可执行文件(gvim.exe,vim.exe和其他一些) 并将它们转储到src,但不会创建正确的分发。

完整发行版的目标位于根Makefile中,例如dosbin_gvim, 但是在尝试构建这个目标时我遇到了错误:

$ make dosbin_gvim
rm -rf dist/gvim73.zip
rm -rf dist/vim
mkdir dist/vim
mkdir dist/vim/vim73
tar cf - \
        README_bindos.txt uninstal.txt  \
        | (cd dist/vim/vim73; tar xf -)
find dist/vim/vim73 -type f -exec vim -e -X -u no_title.vim -c ":set tx|wq" {} \;
cp gvim.exe dist/vim/vim73/gvim.exe
cp: cannot stat `gvim.exe': No such file or directory
make: *** [dosbin_gvim] Error 1

使用使用runtime文件夹中的内容构建的exe,我可以 可能自己拼凑一个发行版,但它会是hackish和脆弱的。 我更愿意知道造成这些错误的原因,以及如何修复它们。

3 个答案:

答案 0 :(得分:3)

在Windows上构建Vim非常令人沮丧。 不要使用configure。您应该直接使用Make_ming.mak,例如:

make -f Make_ming.mak ARCH=x86-64 OPTIMIZE=MAXSPEED STATIC_STDCPLUS=yes FEATURES=HUGE GUI=yes OLE=yes NETBEANS=no PYTHON="D:/Applications/Python 2.7.3" PYTHON_VER=27 DYNAMIC_PYTHON=yes PYTHON3="D:/Applications/Python 3.2.3" PYTHON3_VER=32 DYNAMIC_PYTHON3=yes gvim.exe

最有可能的是,你必须修补Make_ming.mak,因为它包含许多微妙的错误。例如,如果没有修补,指定"D:/Applications/Python 3.2.3"(如上所示)将无效,因为Make_ming.mak期望您指定不带空格的路径。还有其他恼人的问题,但我不想在这里详细介绍它们。

如果您正在为Windows寻找新的64位Vim版本,那么我建议您尝试直接从Bram源代码编译的 Vim for Windows ,它包括对两者的支持Python 2和Python 3。

注意:我使用 MinGW-w64 构建了它。

祝你好运。

答案 1 :(得分:1)

我刚刚在MinGW上编译了VIM并创建了 gist about it 。要使配置运行,您需要

    mingw-get install mingw32-libpdcurses

然后你可以做

    ./configure --with-tlib=pdcurses

但无济于事,因为make无法完成任务。

gist 会引导您使用gvim74.exe,您可以像下载的那样安装它。

答案 2 :(得分:0)

根据this site,可以在MinGW下编译。您是否尝试过使用Make_ming.mak Makefile?