2

我将此代码用于我的 shell 中的历史功能:http: //cc.byexamples.com/20080613/gnu-readline-how-to-keep-a-history-list-of-entered-command-lines/ 但是当我使用 gcc 编译它时,我得到了这个错误

$ gcc filename.c
/tmp/ccay2CgM.o: In function `main':
rl.c:(.text+0x9): undefined reference to `rl_abort'
rl.c:(.text+0x13): undefined reference to `rl_bind_key'
rl.c:(.text+0x1d): undefined reference to `readline'
rl.c:(.text+0x61): undefined reference to `add_history'
collect2: ld returned 1 exit status
$
4

2 回答 2

11

示例编译行是

g++ -o simple_rl{,.cpp} -lreadline

您忘记添加 -lreadline 了吗?

于 2009-06-27T10:40:57.727 回答
2

用这个编译:

gcc -lreadline -lncurses -o simple_rl{,.cpp}
于 2012-03-24T17:13:49.863 回答