【问题标题】:ncurses on macOS (OSX) cannot find xterm-256colormacOS (OSX) 上的 ncurses 找不到 xterm-256color
【发布时间】:2017-02-11 11:01:42
【问题描述】:

我正在尝试在 macOS 上使用 ncurses 6.0。我已经下载了项目并使用提供的 makefile 构建了 C++ 演示。但是,当我运行演示时,我得到了错误:

打开终端时出错:xterm-256color。

这可能是相关的:我的terminfo 目录中没有x 文件夹:

$ ls /usr/share/terminfo/
31  36  45  51  64  69  6e  73  78
32  37  4c  58  65  6a  6f  74  7a
33  38  4d  61  66  6b  70  75
34  39  4e  62  67  6c  71  76
35  41  50  63  68  6d  72  77

演示在 Debian 上正常运行。


我的配置输出是:

** Configuration summary for NCURSES 6.0 20150808:

       extended funcs: yes
       xterm terminfo: xterm-new

        bin directory: /usr/local/bin
        lib directory: /usr/local/lib
    include directory: /usr/local/include/ncurses
        man directory: /usr/local/share/man
   terminfo directory: /usr/local/share/terminfo

** Include-directory is not in a standard location

因为我很懒且不阅读手册,所以我没有运行完整的设置程序。运行后:

./configure
make
make install

现在可以了。

【问题讨论】:

  • 尝试从test 目录中执行./configure && make...
  • @I'L'I 这似乎可行,但我在寻找什么?
  • 我不确定您在寻找什么,尽管您显然是通过 make install 找到的。 :)

标签: c++ macos ncurses


【解决方案1】:

当您构建 ncurses 时,configure 脚本会在最后告诉您它将安装在哪里。如果您在 OSX 上没有提供任何选项,它将如下所示:

creating headers.sh

** Configuration summary for NCURSES 6.0 20160409:

       extended funcs: yes
       xterm terminfo: xterm-new

        bin directory: /usr/local/bin
        lib directory: /usr/local/lib
    include directory: /usr/local/include/ncurses
        man directory: /usr/local/share/man
   terminfo directory: /usr/local/share/terminfo

** Include-directory is not in a standard location

您可以覆盖 terminfo 目录的位置(读取INSTALL 文件),或通过设置TERMINFO 和/或TERMINFO_DIRS 环境变量在运行时告诉库。但如果不执行其中任何一项操作,它将在不同的位置查找终端数据库。

ncurses 配置脚本为某些系统(主要基于 Linux)提供了一个 --prefix=/usr 选项,因为它应该是系统 curses 库(再次阅读 INSTALL)。 OSX 在这里并不奇怪。

OSX 与通常情况不同:它的文件系统(通常)忽略了大写/小写名称之间的差异。配置脚本会检查这一点,如果是,它会编译一个解决方法,将这些单个字母编码为十六进制数字。例如,0x78 是“x”。

【讨论】:

    猜你喜欢
    • 2012-09-02
    • 2017-07-03
    • 2012-04-17
    • 1970-01-01
    • 2012-06-05
    • 1970-01-01
    • 2011-10-10
    • 2013-02-28
    • 2011-11-28
    相关资源
    最近更新 更多