C++ gcc-lpthread不工作
我的系统中安装了ubuntu 11。我有一个使用pthread库的c程序。 即使使用标志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
-lpthread
编译,我也会得到对sem\u wait()的错误未定义引用
例如:
gcc -lpthread prog.c
该程序在其他ubuntu安装上运行良好。试试:
gcc -pthread
而不是-lpthread
。我认为,这一差异是显著的。后者是针对libpthread
的链接,前者是针对libpthread和其他一些东西的链接
sem\u wait
是librt的一部分,因此您也可以使用gcc-lrt
,但是-pthread
可以为您(以及其他一切!)执行此操作。您可以尝试使用pthread调用编译其他内容吗?链接顺序很重要。图书馆只能在最后才来。