C++ ld:找不到-lpthread的库

C++ ld:找不到-lpthread的库,c++,c,macos,linker,C++,C,Macos,Linker,我正试图在Mac 10.9.1上编译一个程序,但遇到了一个问题。在使用-lpthread标志运行gcc命令以创建动态库时,链接失败,出现以下错误 ld : library not found for -lpthread. libpthread.dylib位于/usr/lib中/ 有人能帮忙吗 谢谢听起来您需要指定包含libpthread.dylib文件的目录,在大多数Mac上它是/usr/lib。使用ld的-L参数执行此操作,如ld-L/usr/lib-lpthread中所示 编辑:gcc也接

我正试图在Mac 10.9.1上编译一个程序,但遇到了一个问题。在使用-lpthread标志运行gcc命令以创建动态库时,链接失败,出现以下错误

ld : library not found for -lpthread.
libpthread.dylib位于/usr/lib中/

有人能帮忙吗


谢谢

听起来您需要指定包含libpthread.dylib文件的目录,在大多数Mac上它是/usr/lib。使用ld的-L参数执行此操作,如ld-L/usr/lib-lpthread中所示


编辑:gcc也接受-L参数。

使用-lpthread从技术上讲不是正确的方法。通过在GCC命令行上使用-pthread,可以获得更好、更可移植的结果。将其用于编译和链接。它将设置重要的预处理器定义并链接必要的库。

通常,GCC-lX标志将尝试链接名为libX的共享库。在本例中,您试图链接找不到的libpthread。使用此标志指定位置:-L/folder/containing/libpthread。请尝试gcc-pthread。。。如果没有“l”,看看它是否有效。我尝试过回答中提到的解决方案,但似乎没有一个能完全解决问题。注意:在使用-pthread而不是-lpthread时,使用的编译器是g++ver 4.2.1,lpthread的错误消失了,但现在我面临另一个链接错误ld:libstdc++的库未找到,在链接过程中使用-L/usr/lib意味着我需要更改项目中的许多文件。我想说的是,我在10.8.6系统上没有遇到这个问题。只有新安装的10.9.1才存在此问题。请帮忙。