Practica de threads en C con Codeblocks

Iniciado por DrKillador, 1 Julio 2013, 21:18 PM

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

DrKillador

Hi amigos,

Estoy practicando el uso de threads en ANSI C, en Windows con Codeblocks, y me da un error al compilar que no logro arreglar.

Tengo la siguiente funcion que me abre una calculadora (funciona perfectamente):


#include <pthread.h>
void *b()
{
    exec("calc");
    return NULL;
}


Y he hecho ahora esta otra funcion para lanzar la calculadora desde una nueva hebra, para que el programa no se pare:


void a()
{
    pthread_t h1;
    pthread_create(&h1, NULL, b(),NULL);
}


El problema es que al compilar me da el siguiente error en la instrucción "pthread_t h1", porque creo que no encuentra el tipo de dato pthread_t:

Código (html4strict) [Seleccionar]
main.c|15|undefined reference to `_imp__pthread_create'|

He leído por internet que tengo que añadir el flag -l al compilar, ya que estoy utilizando GCC como compilador en el Codeblocks, pero sigo con el problema...

¿Alguien sabria ayudarme?

Grax!!!
Python <3 Python

avesudra

Hola DrKillador , según tengo entendido y aunque nunca la usado, pthread  no está soportada nativamente por Windows  por lo que tendrás que compilar enlazando la siguiente librería Pthreads-w32.

PD: No tengo mucha idea del tema pero parece ser que es eso.

¡Un saludo!
Regístrate en

amchacon

Por favor, no me manden MP con dudas. Usen el foro, gracias.

¡Visita mi programa estrella!

Rar File Missing: Esteganografía en un Rar

DrKillador

Gracias! lo solucioné usando CreateThread de la WinAPI.

Saludos!
Python <3 Python