Comment comstackr des exemples dans le livre “The Linux Programming Interface” de Michael Kerrisk

Que dois-je faire avec les fichiers ename.c.inc , error_functions.c , error_functions.h , tlpi_hdr.h ?

J’ai copié ces fichiers dans / lib / Directory. mais j’ai eu l’erreur suivante lorsque j’ai essayé de comstackr l’exemple de la liste 4.1, une fonction de copie simple:

 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 

Que dois-je faire pour que ce programme soit lié?

Lors de la compilation, essayez d’append un chemin aux fichiers devant être inclus dans copy.c, comme ceci:

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

Cet argument -I, suivi du chemin, indique au compilateur de rechercher dans ce chemin les fichiers inclus, en espérant y inclure tlpi_hdr.h.

Sinon, suivez les instructions au bas de cette page et lancez make partir du répertoire où copy.c se termine.