Как я могу решить эту ошибку «/ usr / bin / ld: не удается найти -libpthreads collect2: error: ld вернул 1 статус выхода», если я уже установил библиотеку pthread?

** Я пишу этот код на c и уже установил библиотеку pthread, записывающую эту команду ** sudo apt-get install lpthread-stubs0-dev

#include <stdlib.h>
#include <pthread.h>
#include <stdio.h>
#define NUM_THREADS 5
void *PrintHello(void *threadid)
{
 printf("\n%d: Hello World!\n", threadid);
 pthread_exit(NULL);
}
int main (int argc, char *argv[])
{
 pthread_t threads[NUM_THREADS];
 int rc, t;
 for(t=0; t<NUM_THREADS; t++)
 {
 printf("Creating thread %d\n", t);
 rc = pthread_create(&threads[t], NULL, PrintHello, (void *)t);
 if (rc)
 {
 printf("ERROR; return code from pthread_create() is %d\n", rc);
 exit(-1);
 }
 }
 pthread_exit(NULL);
}
1
задан 4 April 2021 в 00:10

1 ответ

Выполните следующие команды, чтобы скомпилировать вашу программу (я поместил ее в pth.c ):

sudo apt-get update
sudo apt-get install build-essential

gcc pth.c -lpthread -o pth

И затем запустите ее:

./pth

Примечание: для целей отладки используйте gcc pth. c -lpthread --include-directory = / usr / include -o pth --verbose и добавить вывод этой команды в тело вопроса.

0
ответ дан 23 April 2021 в 23:26

Другие вопросы по тегам:

Похожие вопросы: