编译vim时无法链接ncurses

5

我正在尝试在主目录中编译vim 7.3。作为终端库,我使用--with-shared选项在~/lib/ncurses/ncurses-5.9中安装了ncurses。

设置完成后,

set path = ( ~/lib/ncurses/ncurses-5.9/bin/ $path ) 
setenv LD_LIBRARY_PATH ~/lib/ncurses/ncurses-5.9/lib/:$LD_LIBRARY_PATH

我尝试配置vim

./configure --enable-multibyte --prefix=/home/******/apps/vim/vim73

或者
./configure --enable-multibyte --prefix=/home/******/apps/vim/vim73 --with-tlib=ncurses

然而,在搜索ncurses时它失败了。看起来-lncurses标志不可用,而ldconfig也没有帮助。

我不知道我做错了什么...有人可以帮帮我吗?

3个回答

11

安装ncurses-devel软件包

$ yum install ncurses-devel

然后再试一遍:

$ ./configure <your options>

9

LD_LIBRARY_PATH 在运行时而不是编译时用于查找正确的库。您需要设置 LDFLAGS 或设置配置选项以查找 ncurses 库:

env LDFLAGS=-L<PATH TO NCURSES LIB> ./configure ...

LD_LIBRARY_PATH 是在运行时而不是编译时用于查找正确的库。这就是我感到困惑的部分。有时程序编译成功却无法运行,因为出现了这种错误。你把程序编译成一个可执行文件,它应该包含运行所需的所有内容,是吗?为什么它在运行时还需要一个库呢? - Jordan He

3
在vim的git目录中,通过命令行输入./configure --help后,我所做的是:
./configure --with-local-dir=PATH

PATH是指ncurses目录的路径(包括其所有库)。就像在我的情况下:

./configure --with-local-dir=/opt/ncurses

这似乎没有报告找不到ncurses库的错误。安装进行得很顺利。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接