How can I solve this erorr "/usr/bin/ld: cannot find -libpthreads collect2: error: ld returned 1 exit status" if i already install pthread library?

**I write this c code and I already install a pthread library writting this command **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);
}
2

1 Answer

Execute below commands to get your program (I placed it in pth.c) compiled:

sudo apt-get update
sudo apt-get install build-essential
gcc pth.c -lpthread -o pth

And then run it:

./pth

Note: for debugging purposes use gcc pth.c -lpthread --include-directory=/usr/include -o pth --verbose and add output of this command to question body.

3

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

You Might Also Like