我的系统中安装了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可以为您做到这一点(以及其他所有功能!)。

10-04 10:51