我的系统中安装了ubuntu 11。我有一个使用pthread库的c程序。
即使我已使用Undefined reference to sem_wait()
标志进行编译,也会出现错误-lpthread
。
例如:
gcc -lpthread prog.c
该程序可在其他ubuntu安装上正常运行。
最佳答案
尝试:
gcc -pthread
而不是
-lpthread
。我相信,差异是巨大的。后者是针对libpthread
的链接,前者也是针对libpthread和其他很多东西的链接!sem_wait
是librt的一部分,因此您也可以使用gcc -lrt
,但是-pthread
可以为您做到这一点(以及其他所有功能!)。