在我的 Mac OS (Moneterey 12.1) 上,我看到 $NetBSD: readline.h, v 1.33 2012/05/15 我猜它是 libedit 库的一部分。我想使用 readline.h,它是 GNU readline 库的一部分。有可能这样做吗?我应该执行哪些步骤?可能是我使用了一些不正确的术语或误解了一些概念。我会很感激你的帮助。
问问题
32 次
1 回答
0
好吧,我找到了一个对我有用的解决方案。第一步,我安装了 GNU Readline,如下所示。就我而言,我做了:
wget ftp://ftp.gnu.org/gnu/readline/readline-8.1.tar.gz
tar xvfz readline-8.1.tar.gz
cd readline-8.1
./configure --prefix=/usr/local/readline/8.1
make
make install
ln -s /usr/local/readline/8.1/include/readline /usr/local/include/
ln -s /usr/local/readline/8.1/lib/libhistory.a /usr/local/lib/
ln -s /usr/local/readline/8.1/lib/libhistory.so /usr/local/lib/
ln -s /usr/local/readline/8.1/lib/libhistory.so.8 /usr/local/lib/
ln -s /usr/local/readline/8.1/lib/libhistory.so.8.1 /usr/local/lib/
ln -s /usr/local/readline/8.1/lib/libreadline.a /usr/local/lib/
ln -s /usr/local/readline/8.1/lib/libreadline.so /usr/local/lib/
ln -s /usr/local/readline/8.1/lib/libreadline.so.8 /usr/local/lib/
ln -s /usr/local/readline/8.1/lib/libreadline.so.8.1 /usr/local/lib/
然后我重新安装了 Ruby 并用 GNU readline 编译它,就像这里讨论的那样:
rvm get head
rvm reinstall ruby --disable-binary --with-opt-dir=$(brew --prefix readline)
最后,在编译我的项目时,我使用 了这里-lreadline -lcurses
讨论的 -lcurses 选项 () 。
于 2022-01-21T18:58:42.313 回答