编译 vim 时找不到 tgetent()

alx*_*yzc 4 vim ncurses ubuntu

目前我正在尝试将 YouCompleteMe 扩展安装到我的 vim 设置中,但它要求我的 vim 具有 7.3.584 或更高版本。我的 Ubuntu 12.10 附带的 vim 是 7.3.547,所以我必须按照这个指令从源代码重新编译 vim 。

正如指令所说,我执行了:

sudo apt-get install libncurses5-dev libgnome2-dev libgnomeui-dev \
libgtk2.0-dev libatk1.0-dev libbonoboui2-dev \
libcairo2-dev libx11-dev libxpm-dev libxt-dev python-dev ruby​​-dev mercurial

这应该给我编译所需的所有包。但是,当我克隆了 vim 源并准备开始调整编译配置时,我得到了

...
检查 -lcurses 中的 tgetent... 是的
termcap 库不可用
找不到终端库
检查 tgetent()... 配置:错误:未找到!
    你需要安装一个终端库;例如 ncurses。
    或者使用--with-tlib 指定库的名称。

我做了一些研究,并得到了我应该将 ncurses 指定为我的终端库的一般感觉。但是当我这样做的时候

./configure --with-tlib=ncurses

它回喊

...
检查 --with-tlib 参数... ncurses
检查与 ncurses 库的链接...好的
检查 tgetent()... 配置:错误:未找到!
    你需要安装一个终端库;例如 ncurses。
    或者使用--with-tlib 指定库的名称。

我不知道我是否遗漏了什么,或者是否有其他方法可以获得最新版本的 vim?非常感谢!

小智 5

这是因为系统缺少ncurses库,可以通过安装libncurses5-dev来解决。

sudo apt-get install libncurses5-dev
Run Code Online (Sandbox Code Playgroud)

我通过这篇文章解决了它。 在此处输入链接描述


rom*_*inl 1

我一直在使用那个人的 PPA来使 Vim 在 Ubuntu 11.04 上保持最新状态。最新版本是 7.3.854,我相信它可以与 YouCompleteMe 配合使用。