gcc -lpthread не работает - PullRequest
       12

gcc -lpthread не работает

6 голосов
/ 25 ноября 2011

У меня установлена ​​Ubuntu 11 в моей системе.У меня есть программа переменного тока, которая использует библиотеку pthread.Я получаю ошибку Undefined reference to sem_wait(), даже если я скомпилировал с флагом -lpthread.

например:

gcc -lpthread prog.c

Программа отлично работает на других установках Ubuntu.

1 Ответ

12 голосов
/ 25 ноября 2011

Попробуйте:

gcc -pthread

вместо -lpthread. Разница значительная, я считаю. Последний связывается с libpthread, первый связывается с libpthread и множеством других вещей!

sem_wait является частью librt, так что вы также можете использовать gcc -lrt, но -pthread делает это для вас (и всего остального!).

...