não pode executar um arquivo make de um programa C [closed]

-1

Eu tenho um pequeno programa que deve iniciar um segundo thread. O problema é que, ao tentar fazer um arquivo executável deste programa usando make. Eu recebo:

 engine@ubuntu:~/Desktop/Lecture$ make thread
 cc     thread.c   -o thread
 thread.c: In function ‘main’:
  thread.c:10:2: error: unknown type name ‘pthread’  .............

aqui está o meu código:

#include <stdio.h>
#include <stdlib.h>
#include <pthread.h>
#include <errno.h>

void *func(void*);

int main(){

pthread tid;
if (pthread_create(&tid,NULL,fun,NULL)!= 0 ){
    printf("error by _ pthread \n");
}
printf ( "thread output1 \n");
sleep(1);
return EXIT_SUCCESS;
  }  

 void *fun(void* data){
printf("thread output2 \n")
  }

Eu não acho que o programa esteja errado, talvez do jeito que estou executando o comando make?

alguma idéia por que eu recebo isso. Agradecemos antecipadamente por sua ajuda

    
por Engine 31.05.2013 / 17:48

2 respostas

2

Você esqueceu de vincular uma biblioteca dinâmica?

% bl0ck_qu0te%

Outros erros:

% bl0ck_qu0te%     
por Benjamin 31.05.2013 / 17:51
0

De acordo com a página de manual de pthread_create e algum código de amostra na Internet, o primeiro parâmetro é um ponteiro para pthread_t , não pthread . Tente isso:

pthread_t tid;
    
por Paul 31.05.2013 / 17:59