【发布时间】:2014-11-19 01:20:07
【问题描述】:
我正在尝试运行我在 2008 年 9 月编写的文件,我使用了当年的 Ubuntu 版本,它运行良好。现在我已经安装了 NASM 版本 2.10.09 的 Ubuntu 14.04。
这是文件的源代码https://gist.github.com/vcrobe/2494f0f54c03f8fb0a8d
我已经用 NASM 成功编译了这个命令的代码:
nasm -f elf foo.asm
但是当我尝试用这个命令链接目标文件时:
ld -s -o foo foo.o -lelf -I/lib/ld-linux.so.2
我收到以下错误:
ld: foo.o: undefined reference to symbol 'printf@@GLIBC_2.0'
//lib/i386-linux-gnu/libc.so.6: error adding symbols: DSO missing from command line.
谁能告诉我我要怎么做才能解决这个问题?
从那以后发生了什么变化,因为它曾经在 2008 年工作?
【问题讨论】:
标签: nasm ld ubuntu-14.04