Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: Lotux5 en 26 Octubre 2013, 14:54 pm



Título: Necesito ayuda urgente con hebras/hilos y semaforos
Publicado por: Lotux5 en 26 Octubre 2013, 14:54 pm
El problema basicamente es:

Código
  1. #include <iostream>
  2. #include <pthread.h>
  3. using namespace std ;
  4. void* proc1( void* arg )
  5. { for( unsigned long i = 0 ; i < 5000 ; i++ )
  6. cout << "hebra 1, i == " << i << endl ;
  7. return NULL ;
  8. }
  9. void* proc2( void* arg )
  10. { for( unsigned long i = 0 ; i < 5000 ; i++ )
  11. cout << "hebra 2, i == " << i << endl ;
  12. return NULL ;
  13. }
  14. int main()
  15. {
  16. pthread_t hebra1, hebra2 ;
  17. pthread_create(&hebra1,NULL,proc1,NULL);
  18. pthread_create(&hebra2,NULL,proc2,NULL);
  19. pthread_exit(NULL); // permite continuar a hebra1 y hebra2
  20. }


Y me da este error:
Código
  1. /tmp/ccPPYPph.o: En la función `main':
  2. ej.cpp:(.text+0xd7): referencia a `pthread_create' sin definir
  3. ej.cpp:(.text+0xf2): referencia a `pthread_create' sin definir
  4. collect2: error: ld devolvió el estado de salida 1
  5.  

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.


Título: Re: Necesito ayuda urgente con hebras/hilos y semaforos
Publicado por: Lotux5 en 26 Octubre 2013, 15:45 pm
Ok. Era una tontería. No sabia que cuando compilabas había que poner -pthread.