我收到此链接错误,我找不到解决方案。你能不能把我放在正确的方向去寻找它? 我得到:错误LNK2019:未解析的外部符号_ imp _pthread_mutex_lock在函数“private:bool __thiscall ...中引用了这里带有参数的函数的全名。 pthread_mutex_lock 和 pthread_mutex_unlock 用于此函数(不作为参数)。 包括“pthread.h”不会改变任何内容。
答案 0 :(得分:2)
pthread
库适用于POSIX系统(Linux,BSD,Mac OS)。您表示您使用的是Windows中的Visual Studio - 如果您希望在Windows上进行多线程处理,请参阅this page。
更好的是,如果你可以使用更新的工具,C ++ 11提供built-in threading functionality。
答案 1 :(得分:0)
您需要添加
-lpthread
或
-lthread
到编译器命令行(取决于操作系统和编译器)
更新:@nos正确地指出这似乎是MS链接器错误。你不应该在Visual Studio中使用pthread。 Windows Threading API非常不同。
答案 2 :(得分:0)
我使用了来自sourceware.org/pthreads-win32的pthread-win32。
我现在已经面对这个问题几个小时了,终于可以通过添加' lib'' include'来解决这个问题。和' bin'随下载提供的文件夹内容,在Visual Studio依赖安装文件夹中的相应文件夹中。
我在
" C:\ Program Files(x86)\ Microsoft Visual 工作室\ 2017 \社区\ VC \工具\ MSVC \ 14.10.25017"
然后我添加了库依赖项' pthreadVC2.lib;'在
项目 - >属性 - >链接器 - >输入 - >额外的依赖
瞧! pthreads开始工作了。