对 pthread 创建错误的未定义引用

对 pthread 创建错误的未定义引用

在 C 程序中使用 POSIX 线程时,我发现“对 pthread create 未定义的引用”错误。

#include <stdio.h> 
#include <stdlib.h>

void *myThreadFun(void *vargp)
{ 
  sleep(1); 
  printf("Printing Sample \n"); 
  return NULL;
}

虽然我的 gcc 和 g++ 编译器运行良好。此外,我使用以下命令编译此代码:

gcc test.c -o test

答案1

错误“undefined reference to pthread create”是由于程序文件中未包含 pthread 头文件而导致的。请确保正确包含头文件,如下所示。

#include <pthread.h>

另一个原因是编译代码时命令行中未使用 pthread。若要在编译时包含线程,请使用语法。

gcc -pthread -o threads <cprogram>.c

找到此解决方案这个帖子

相关内容