2

我收到此链接错误,但找不到解决方案。你能不能让我找到正确的方向去寻找它?我得到:错误LNK2019 :未解析的外部符号 _ imp _pthread_mutex_lock 在函数“私有: bool __thiscall ... pthread.h" 不会改变任何东西。

4

3 回答 3

3

我使用了sourceware.org/pthreads-win32提供的 pthread-win32 。

我已经面临这个问题几个小时了,终于能够通过在 Visual Studio 依赖项安装文件夹中的相应文件夹中添加下载提供的“lib”、“include”和“bin”文件夹内容来修复它。

我的在

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

然后我添加了库依赖'pthreadVC2.lib;' 在

项目 -> 属性 -> 链接器 -> 输入 -> 附加依赖项

瞧!pthreads 开始工作。

于 2017-11-19T20:14:28.270 回答
2

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

更好的是,如果您可以使用更新的工具,C++11 提供了内置的线程功能

于 2012-12-10T16:02:11.637 回答
0

您需要添加

-lpthread

或者

-lthread

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

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

于 2012-12-10T15:23:06.627 回答