Código
#include <iostream> #include <pthread.h> using namespace std ; void* proc1( void* arg ) { for( unsigned long i = 0 ; i < 5000 ; i++ ) cout << "hebra 1, i == " << i << endl ; return NULL ; } void* proc2( void* arg ) { for( unsigned long i = 0 ; i < 5000 ; i++ ) cout << "hebra 2, i == " << i << endl ; return NULL ; } int main() { pthread_t hebra1, hebra2 ; pthread_create(&hebra1,NULL,proc1,NULL); pthread_create(&hebra2,NULL,proc2,NULL); pthread_exit(NULL); // permite continuar a hebra1 y hebra2 }
Y me da este error:
Código
/tmp/ccPPYPph.o: En la función `main': ej.cpp:(.text+0xd7): referencia a `pthread_create' sin definir ej.cpp:(.text+0xf2): referencia a `pthread_create' sin definir collect2: error: ld devolvió el estado de salida 1
Por lo que pienso que es que no me funciona el pthread.h. El ejercicio está bien porque es un ejemplo de los apuntes.
Ayuda por favor, necesito una respuesta rápido.
Nota: tampoco me funciona los semaforos asi que si hay que instalar un paquete o algo decidmelo por favor.