【问题标题】:Cannot link ncurses while compiling vim编译 vim 时无法链接 ncurses
【发布时间】:2012-01-12 11:38:13
【问题描述】:

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

设置后

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 没有帮助。

我看不出我做错了什么...有人可以帮助我吗?

【问题讨论】:

    标签: vim ncurses


    【解决方案1】:

    安装ncurses-devel

    $ yum install ncurses-devel
    

    然后再试一次:

    $ ./configure <your options>
    

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

      • LD_LIBRARY_PATH is used at runtime not compile time to find the correct libraries。这是我感到困惑的部分。有时由于这种错误,程序编译并不会运行。这是如何运作的?您将程序编译为可执行文件,它应该包含运行它所需的一切,对吧?为什么它在运行时需要一个库?
      【解决方案3】:

      在vim git目录下,从命令行./configure --help读取后,我做的是:

      ./configure --with-local-dir=PATH
      

      其中 PATH 是 ncurses 目录(及其所有库)的路径。就像我的情况一样:

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

      这似乎没有给出关于找不到 ncurses 库的错误。并且安装正常。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-04-22
        • 2019-10-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-03-17
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多