我的系统中安装了ubuntu 11。我有一个使用pthread库的c程序。
即使我使用标记Undefined reference to sem_wait()
编译,我也会收到错误-lpthread
。
例如:
gcc -lpthread prog.c
该程序适用于其他ubuntu安装。
答案 0 :(得分:12)
尝试:
gcc -pthread
而不是-lpthread
。我相信,差异很大。后者链接到libpthread
,前者链接到libpthread和其他一些东西!
sem_wait
是librt的一部分,因此您也可以使用gcc -lrt
,但-pthread
会为您(以及其他所有内容)执行此操作。