如何将readline库链接到目标文件?

时间:2013-06-09 06:00:50

标签: linux assembly x86 readline fasm

我正在尝试在用FASM编写的程序中使用GNU readline库。这是我的汇编代码:

format elf64

public _start

extrn readline

section ".text" executable
_start:
    push prompt
    call readline
    jmp  _start

section ".data"
    prompt db ">> ", 0

然后我按如下方式编译和链接它:

$ fasm test.asm
$ ld -lreadline test.o -o test

但是当我尝试执行./test bash时,会给出以下错误消息:

bash: ./test: No such file or directory

test可执行文件存在于目录中。怎么了?我没有正确链接libreadline库吗?

1 个答案:

答案 0 :(得分:1)

当我在使用64位系统编译32位代码时,这种情况发生在我身上。您必须安装一些额外的32位开发工具和库(如适当的libc变体),以便32位二进制文​​件也可以被识别为可执行文件。