C++ pthread mutex:错误LNK2019:未解析的外部符号c++;

C++ pthread mutex:错误LNK2019:未解析的外部符号c++;,c++,locking,pthreads,C++,Locking,Pthreads,我正在获取此链接错误,无法找到解决方案。你能告诉我在哪里可以找到它吗? 我得到:错误LNK2019:函数“private:bool”中引用的未解析外部符号\u imp\u pthread\u mutex\u lock…下面是我的函数的完整名称和参数。 pthread\u mutex\u lock和pthread\u mutex\u unlock在此函数中使用(不作为参数)。 包含“pthread.h”不会改变任何东西。您需要添加 -lpthread 或 到编译器命令行(取决于操作系统和编译器)

我正在获取此链接错误,无法找到解决方案。你能告诉我在哪里可以找到它吗? 我得到:错误LNK2019:函数“private:bool”中引用的未解析外部符号\u imp\u pthread\u mutex\u lock…下面是我的函数的完整名称和参数。 pthread\u mutex\u lockpthread\u mutex\u unlock在此函数中使用(不作为参数)。 包含“pthread.h”不会改变任何东西。

您需要添加

-lpthread

到编译器命令行(取决于操作系统和编译器)


更新:@nos正确指出这似乎是MS链接器错误。您不应该在Visual Studio中使用pthreads。Windows线程API非常不同。

pthread库适用于POSIX系统(Linux、BSD、Mac OS)。您表示您在Windows中的Visual Studio上-如果希望在Windows上执行多线程处理,请参阅


更好的是,如果您可以使用更新的工具,C++11提供了。

我使用了pthread-win32,可从中获得

我已经面临这个问题好几个小时了,终于能够通过在VisualStudio dependency安装文件夹的相应文件夹中添加下载时提供的“lib”、“include”和“bin”文件夹内容来解决这个问题

我的在

“C:\Program Files(x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.10.25017“

然后,我在中添加了库依赖项“pthreadVC2.lib;”

项目->属性->链接器->输入->其他依赖项


瞧!pthreads开始工作了。

该错误代码似乎来自MSVC编译器,但windows对pthreads没有本机支持。因此,您应该告诉我们有关您的环境和您正在尝试执行的操作的更多信息,并可能显示导致此链接器错误的代码。您是从哪里获得
pthread.h
的?这不是pMSVC的艺术,因此您必须从其他地方获取它。您需要指定要在Visual Studio项目中链接的pthread库(如果您不使用IDE,则在命令行上)如果你需要更多的细节,可以从WindowsXP 32位上使用VisualC++ 08,我现在正在阅读关于CL的运行,因为我不太熟悉。如果我现在用简单的运行按钮运行我的程序,我怎么能加上这条线?我在这个想法中是新的。C是怎么回事?ode以前运行时没有出现错误?在我尝试将其与另一个ode合并后,我遇到了这个问题。我想到的是,不知何故,包含线程的代码的这一部分在某些情况下是不活动的……这是唯一合理的想法,还是有其他方法?如果您在
gcc
,正确的标志是
-pthread
-lpthread
不能在所有发行版(如Ubuntu)上运行。
-lthread