Почему этот код семафора терпит неудачу? - PullRequest
2 голосов
/ 30 ноября 2010
#include <semaphore.h>


sem_t mutex;


int main (int argc, char * argv[])
{



sem_init (&mutex,0,1); 

}

Я получаю:

/tmp/ccAMFxDX.o: In function `main':
programaservidor.c:(.text+0x86): undefined reference to `sem_init'
collect2: ld returned 1 exit status

Ответы [ 3 ]

5 голосов
/ 30 ноября 2010

На справочную страницу sem_init ()

Ссылка с -lrt или -pthread.

Как в gcc your_code.c -lpthread -o your_code

1 голос
/ 30 ноября 2010

Как указано в справочной странице, вы должны связать либо -lrt, либо -pthread.

0 голосов
/ 30 ноября 2010

Соответствующая ссылка POSIX:

http://www.opengroup.org/onlinepubs/9699919799/utilities/c99.html#tag_20_11_13

...