我遇到了pthread.h和使用c ++和Visual Studio 2013进行多线程处理的问题。 这是我的代码
#include <iostream>
#include <cstdlib>
#include <pthread.h>
using namespace std;
#define NUM_THREADS 1
void *PrintHello(void *)
{
cout << "Hello World! Thread ID, ";
return NULL;
}
int main()
{
pthread_t threads[NUM_THREADS];
int rc;
rc = pthread_create(&threads[1], NULL,PrintHello, NULL);
if (rc){
cout << "Error:unable to create thread," << rc << endl;
exit(-1);
}
}
当我尝试运行此
时Error 1 error LNK2019: unresolved external symbol __imp__pthread_create referenced in function _main
Error 2 error LNK1120: 1 unresolved externals
我收到这些错误。但我找不到解决问题的方法。我需要你的帮助。
答案 0 :(得分:4)
我使用了Oakdale提供的链接。
http://web.cs.du.edu/~sturtevant/pthread.html
Windows 7 x64上 Visual Studios 2013 Ultimate 的细微更改。
以下是我使用的来源:http://sourceforge.net/projects/pthreads4w/?source=typ_redirect
这包含pthreads的预编译版本。使用x86目录(即/ bin,/ lib,/ include来拉动.dll,libs和.h。
还应该添加到VS2013目录中的其他.dll,lib和.h。
右键点击您的项目&gt;属性&gt;配置属性&gt; C / C ++&gt;其他包含目录&gt;添加&#34; -lpthread&#34;
来自同一&#34;项目&#34;属性页面&gt;配置属性&gt;链接器&gt;输入&gt;添加
我能够编译上面的示例并使用debug执行。我在第一次拍摄时得到了这个,所以我可能错过了其他环境的东西。请发布任何持续的问题。