使用 MinGW 构建 vim

Posted

技术标签:

【中文标题】使用 MinGW 构建 vim【英文标题】:build vim with MinGW 【发布时间】:2012-12-20 16:22:58 【问题描述】:

我正在尝试通过在 vim 存储库根目录中运行 ./configure && make 来,但出现以下错误:

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,但那里没有 ncurses。此外,它们真的很旧 - 最新的是 2003 年更新。

如果我切换到src 目录并从那里运行make,构建过程 启动并完成但没有错误。它生成一些可执行文件(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和脆弱的。 我更想知道是什么导致了这些错误,以及如何修复它们。

【问题讨论】:

【参考方案1】:

在 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 构建了它。

祝你好运。

【讨论】:

【参考方案2】:

我刚刚在 MinGW 上编译了 VIM 并做了一个 gist about it。要使配置运行,您将需要

    mingw-get install mingw32-libpdcurses

然后你就可以了

    ./configure --with-tlib=pdcurses

但无济于事,因为make 不会完成它的工作。

gist 将引导您进入 gvim74.exe,您可以使用它来安装,就像下载的一样。

【讨论】:

我最终设法构建了 exes,使用 Haroogan 的提示并以您建议的类似方式解决了 pdcurses,但 Python 仍然存在问题。所以我认输了,选择了 Haroogan's 和 Kaoriya's 这样的发行版,它们运行良好。当我有时间时,可能会使用你的要点再试一次。

以上是关于使用 MinGW 构建 vim的主要内容,如果未能解决你的问题,请参考以下文章

我在windows下安装了MinGW和msys,并在桌面上有了mingw shell的图标,请问我怎么才能应用vim来写程序呢

使用 Mingw 构建 libevhtp

mingw64 构建 Geos

使用 minGW 构建 crypto562

如何使用 MinGW 构建 Boost 1.55?

如何在 Windows 中使用 MinGW 构建 OpenSSL? [关闭]