PDA

Visualizza la versione completa : [C++] Semafori in Unix ed errori "Undefined reference"


pieric27
28-06-2007, 20:26
esercitandomi sui semafori in Unix mi dà un errore:

prod.o: In function `main':
prod.c:(.text+0x2f): undefined reference to `shm_open'
prod.c:(.text+0xf8): undefined reference to `sem_open'
prod.c:(.text+0x146): undefined reference to `sem_post'
prod.c:(.text+0x1c6): undefined reference to `sem_close'
collect2: ld returned 1 exit status

************************************************** *************
Quando compilo con "cc -c prod.c" non mi dà errore ma appena lancio
"cc -o prod prod.o" per creare l'eseguibile, mi dà tale errore, siccome
prima un altro file sui Thread mi dava un errore simile un utente mi ha detto di
inserire -lpthread ora ci vuole qualche altro parametro?

ibykos
30-06-2007, 00:09
Sì, le librerie per la programmazione, nonostante la loro importanza, sembra che non siano state standardizzate all'interno del SO Unix.
Non ho presente gli header che hai incluso, ma devi fare come ti ho detto nell'altra discussione.
Per linkare manualmente una liberia di nome "header.h" devi aggiungere il parametro -lheader.
Ciao

Loading