使用:ubuntu 18.04 和 git 版本 2.17.1
当我尝试按照 ubuntu 的说明安装 SC-IM 时:https://github.com/andmarti1424/sc-im/wiki/Ubuntu-with-XLSX-import-&-export
当我运行时,我看到“未定义的引用” make
,如下所示:
[...]/sc-im/src/tui.c:1535: undefined reference to `init_extended_pair'
color.o: In function `redefine_color':
[...]/sc-im/src/color.c:594: undefined reference to `init_extended_color'
color.o: In function `define_color':
[...]/sc-im/src/color.c:661: undefined reference to `init_extended_color'
collect2: error: ld returned 1 exit status
Makefile:194: recipe for target 'sc-im' failed
make: *** [sc-im] Error 1
然后当我运行时sudo make install
我看到:
install -d /usr/local/bin
install sc-im /usr/local/bin/sc-im
install: cannot stat 'sc-im': No such file or directory
Makefile:178: recipe for target 'install' failed
make: *** [install] Error 1
他们在这里说:https://github.com/andmarti1424/sc-im/issues/253“尝试链接 ncursesw”,然后:“解决了。”但这是什么意思?我在 Google 上搜索了一下,没有找到任何有用的东西。谢谢。
编辑:也许这有关?:https://github.com/andmarti1424/sc-im/wiki/Ubuntu-16.04.1-with-libxlsreader我在 sc-im/src 中添加了这 3 行Makefile
,但没有什么区别
答案1
为了避免undefined reference to 'init_extended_pair'
错误,请使用ncursesw
库而不是进行编译ncurses
。
答案2
我在这个讨论中找到了解决方案:“使用错误数字分隔符时发生段错误 #482”https://github.com/andmarti1424/sc-im/issues/482
针对上述init_extended_color
错误,SC-IM 的作者表示:“您使用的 ncurses 版本未定义该函数。您可能需要 6.2 版本,或者只需将init_extended_color
上面的两个调用替换color.c
为init_color
(第 580 行和第 642 行)”
当我尝试安装时libncurses5-dev
,libncursesw5-dev
ubuntu 建议我拥有最新版本,但如果我查看 /usr/include/ncurses.h,它会显示版本 6.1
因此我必须按照他的建议改成,具体来说,我把(在两个地方)改成init_extended
在,然后就可以编译了init
init_extended_color
init_color
color.c
init_extended_pair
init_pair
tui.c