problema thread

1,661 views
Skip to first unread message

Sebastian Barreña

unread,
Oct 1, 2013, 10:10:22 PM10/1/13
to tallerdepr...@googlegroups.com
Estuve intentando crear la clase Thread con lo que se dio en clase y se explico, osea, basicamente transcribi el codigo que se dicto en clase tal cual.
El problema que surge es que me dice que pthread_create esta sin definir, lo mismo pthread_join. inclui bien la libreria pthread.h y entonces nose cual puede ser el problema, que me falta hacer en el codigo?

gracias
Thread.cpp
Thread.h

Mariano Chouza

unread,
Oct 1, 2013, 10:17:52 PM10/1/13
to tallerdepr...@googlegroups.com
2013/10/1 Sebastian Barreña <sebastia...@gmail.com>:
Sebastian,

Podrías incluir más detalles del error que te indica? Yo acabo de
compilarlo y linkearlo sin problemas:

[arranco en un directorio con tus dos archivos]
$ echo "int main(){ return 0; }" >main.cpp
$ g++ *.cpp -o test_thread -lpthread
$

Saludos.

--
Mariano M. Chouza
http://www.chouza.com.ar/
http://ar.linkedin.com/in/mchouza

"The lyf so short, the craft so long to lerne..." -- Geoffrey Chaucer

Sebastian Barreña

unread,
Oct 1, 2013, 10:24:26 PM10/1/13
to tallerdepr...@googlegroups.com
justo en la linea de thread.cpp, donde llamo a pthread_create me tira un error que dice: "referencia a pthread_create sin definir" lo mismo en la linea donde llamo a pthread_join que dice: "referencia a pthread_join sin definir"

me resulta raro por esa clase de errores los tira cuando no esta incluida la libreria o no incluyo el .h en el .cpp pero en este caso inclui esas cosas

saludos



--
Has recibido este mensaje porque estás suscrito al grupo "7542 - Taller de Programación" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus correos electrónicos, envía un correo electrónico a tallerdeprograma...@googlegroups.com.
Para publicar una entrada en este grupo, envía un correo electrónico a tallerdepr...@googlegroups.com.
Visita este grupo en http://groups.google.com/group/tallerdeprogramacion.
Para obtener más opciones, visita https://groups.google.com/groups/opt_out.

Mariano Chouza

unread,
Oct 1, 2013, 10:26:05 PM10/1/13
to tallerdepr...@googlegroups.com
2013/10/1 Sebastian Barreña <sebastia...@gmail.com>:
> justo en la linea de thread.cpp, donde llamo a pthread_create me tira un
> error que dice: "referencia a pthread_create sin definir" lo mismo en la
> linea donde llamo a pthread_join que dice: "referencia a pthread_join sin
> definir"
>
> me resulta raro por esa clase de errores los tira cuando no esta incluida la
> libreria o no incluyo el .h en el .cpp pero en este caso inclui esas cosas

Probaste ejecutar las líneas de comando que copié? Si te sigue
fallando, transcribime el mensaje exacto de error.

Sebastian Barreña

unread,
Oct 1, 2013, 10:52:36 PM10/1/13
to tallerdepr...@googlegroups.com
si, probe y no me tira ningun error eso, pero si ejecuto el make me sigue dando esos problemas y eclipse no compila por los mismos errores.

me di cuenta que si al metodo starter le saco la palabra static en la definicion, no me tira mas esos errores pero me tira este error: no se puede convertir ‘Thread::starter’ desde el tipo ‘void* (Thread::)(void*)’ al tipo ‘void* (*)(void*)’

oesa, el problema creo que esta en la declaracion/ implementacion del metodo static

como deberia hacerlo correctamente?

saludos


Mariano Chouza

unread,
Oct 1, 2013, 11:01:01 PM10/1/13
to tallerdepr...@googlegroups.com
2013/10/1 Sebastian Barreña <sebastia...@gmail.com>:
> si, probe y no me tira ningun error eso, pero si ejecuto el make me sigue
> dando esos problemas y eclipse no compila por los mismos errores.
>
> me di cuenta que si al metodo starter le saco la palabra static en la
> definicion, no me tira mas esos errores pero me tira este error: no se puede
> convertir ‘Thread::starter’ desde el tipo ‘void* (Thread::)(void*)’ al tipo
> ‘void* (*)(void*)’
>
> oesa, el problema creo que esta en la declaracion/ implementacion del metodo
> static

Creo que lo más probable es que no hayas configurado el Makefile.
Fijate que, para usar pthreads, el Makefile requiere descomentar una
línea ("pthreads = si", línea 27).

Sebastian Barreña

unread,
Oct 1, 2013, 11:06:13 PM10/1/13
to tallerdepr...@googlegroups.com
si, era eso. Muchas gracias!

ahora tengo que ver como lo configuro desde el eclipse para que no me tire esos errores


Joaquin Consoni

unread,
Oct 1, 2013, 11:21:43 PM10/1/13
to tallerdepr...@googlegroups.com
click derecho en el proyecto, properties
Captura de pantalla de 2013-10-02 00:18:53.png

Sebastian Barreña

unread,
Oct 1, 2013, 11:22:51 PM10/1/13
to tallerdepr...@googlegroups.com
Gracias, ahora si! pude solucionar todos los problemas

saludos
Reply all
Reply to author
Forward
0 new messages