如何编写书中的例子" Linux编程接口"作者:Michael Kerrisk

时间:2014-10-23 07:50:39

标签: c linux

我应该如何处理文件ename.c.incerror_functions.cerror_functions.htlpi_hdr.h

我将这些文件复制到/ lib / Directory中。但是当我尝试编译示例列表4.1时,我得到了以下错误,这是一个简单的复制函数:

4.1_copy.c:(.text+0x7e): undefined reference to `usageErr'
4.1_copy.c:(.text+0xcd): undefined reference to `errExit'
4.1_copy.c:(.text+0x139): undefined reference to `errExit'
4.1_copy.c:(.text+0x16f): undefined reference to `fatal'
4.1_copy.c:(.text+0x1b6): undefined reference to `errExit'
4.1_copy.c:(.text+0x1d7): undefined reference to `errExit'
4.1_copy.c:(.text+0x1f8): undefined reference to `errExit'
collect2: ld returned 1 exit status

要将此程序链接起来,我需要做什么?

1 个答案:

答案 0 :(得分:2)

编译时,请尝试添加需要包含在copy.c中的文件的路径,如下所示:

gcc -I ../lib -o copy copy.c

-I参数,后跟路径,告诉编译器在该路径中搜索包含的文件,希望包括tlpi_hdr.h。

或者,按照this page最底部的说明操作,从copy.c结束的目录运行make