C++ gcc-lpthread不工作

C++ gcc-lpthread不工作,c++,c,multithreading,gcc,operating-system,C++,C,Multithreading,Gcc,Operating System,我的系统中安装了ubuntu 11。我有一个使用pthread库的c程序。 即使使用标志-lpthread编译,我也会得到对sem\u wait()的错误未定义引用 例如: gcc -lpthread prog.c 该程序在其他ubuntu安装上运行良好。试试: gcc -pthread 而不是-lpthread。我认为,这一差异是显著的。后者是针对libpthread的链接,前者是针对libpthread和其他一些东西的链接 sem\u wait是librt的一部分,因此您也可以使用gcc

我的系统中安装了ubuntu 11。我有一个使用pthread库的c程序。 即使使用标志
-lpthread
编译,我也会得到对sem\u wait()的错误
未定义引用

例如:

gcc -lpthread prog.c
该程序在其他ubuntu安装上运行良好。

试试:

gcc -pthread
而不是
-lpthread
。我认为,这一差异是显著的。后者是针对
libpthread
的链接,前者是针对libpthread和其他一些东西的链接


sem\u wait
是librt的一部分,因此您也可以使用
gcc-lrt
,但是
-pthread
可以为您(以及其他一切!)执行此操作。

您可以尝试使用pthread调用编译其他内容吗?链接顺序很重要。图书馆只能在最后才来。