在 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
找到此解决方案这个帖子