【发布时间】:2012-08-07 07:16:27
【问题描述】:
我正在尝试编译一个使用udis86 库的程序。实际上我正在使用库的user-manual 中给出的示例程序。但是在编译时,它给出了错误。我得到的错误是:
example.c:(.text+0x7): undefined reference to 'ud_init'
example.c:(.text+0x7): undefined reference to 'ud_set_input_file'
.
.
example.c:(.text+0x7): undefined reference to 'ud_insn_asm'
我使用的命令是:
$ gcc -ludis86 example.c -o example
按照用户手册中的说明。
显然,链接器无法链接 libudis 库。但是,如果我将命令更改为:
$ gcc example.c -ludis86 -o example
它开始工作。那么有人可以解释第一个命令有什么问题吗?
【问题讨论】:
-
什么版本的 gcc?这可能是与版本相关的错误。
-
这不是错误!版本为:gcc (Ubuntu/Linaro 4.4.4-14ubuntu5.1) 4.4.5