1、在shell.c的前面加上此宏
#define HAVE_READLINE==1
2、重新运行./configure 生成新的 makefile
3、如果有找不到“readline.h”等类似头文件的时候,安装libreadline-dev 和libreadline库问题解决。
编译后再次运行sqlite3 命令就可以使用上下方向键了,之前输入过的命令就不用再输入了。
出现类似错误时:
libreadline.so: undefined reference to `tgetnum'
libreadline.so: undefined reference to `tgoto'libreadline.so: undefined reference to `tgetflag'
libreadline.so: undefined reference to `BC'
libreadline.so: undefined reference to `tputs'
libreadline.so: undefined reference to `PC'
libreadline.so: undefined reference to `tgetent'
libreadline.so: undefined reference to `UP'
libreadline.so: undefined reference to `tgetstr
这个是由于没有链接 ncurses库,只要加上 -lncurses就可以了
用arm-linux-gcc把ncurses编译后把库文件放到 交叉编译器的lib目录中,就解决了。