Necesito ayuda urgente con hebras/hilos y semaforos

Iniciado por Lotux5, 26 Octubre 2013, 14:54 PM

0 Miembros y 1 Visitante están viendo este tema.

Lotux5

El problema basicamente es:

Código (cpp) [Seleccionar]
#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 (cpp) [Seleccionar]
/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.

Lotux5

Ok. Era una tontería. No sabia que cuando compilabas había que poner -pthread.