如何解决编译nav时'mvwin_wchnstr'没有在这个范围内声明

154 阅读1分钟

lnav是一个伟大的日志文件查看器。为了使用它的最新功能,我们需要获取源代码并手动编译。
当使用make 编译nav时,出现以下错误

listview_curses.cc: In member function ‘virtual void listview_curses::do_update()’:
listview_curses.cc:293:76: error: ‘mvwin_wchnstr’ was not declared in this scope
             mvwin_wchnstr(this->lv_window, y, this->lv_x, row_ch, width - 1);
                                                                            ^
listview_curses.cc:297:77: error: ‘mvwadd_wchnstr’ was not declared in this scope
             mvwadd_wchnstr(this->lv_window, y, this->lv_x, row_ch, width - 1);

我已经安装了文档中所述的所有要求。

解决方案

lnav文档只说需要ncurses库,但没有提到哪个版本。
我目前安装的ncurses库是libncurses5-dev。改为libncursesw5-dev后,这个问题就解决了:

apt install libncursesw5-dev

(这个命令是针对apt软件包管理器的,请根据你使用的软件包管理器改成相应的命令)。