Bonjour,

Voilà, j'ai une erreur qui me casse la tête.
Voici le simple bout de code que j'utilise :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include <pthread.h>
#include <stdlib.h>
#include <stdio.h>
 
void* threadLambda(void* param)
{
    struct timespec_t t;
 
    t.tv_sec = 5; t.tv_nsec = 0;
    nanosleep(&t, NULL);
 
    exit(0);
}
 
int main()
{
    pthread_t thread;
 
    if (pthread_create(&thread, NULL, threadLambda, NULL) != 0)
	return 1;
 
    while(1);
 
    return 0;
}
Pour compiler : cc -o test test.c -lpthread
A la compilation, il me sort :
test.c:7:error storage size of 't' isn't known
On dirait qu'il ne connait pas la définition de timespec. Or celle-ci est définie dans pthread.t, non ?
Je travaille avec cc v3.4.3 sur Solaris 10.
Si il vous faut d'autres infos, n'hésitez pas à demander.
Je pense que le problème doit venir de la version de mes librairies(trop vieilles).. Ou alors une option dans la compilation que j'aurais oublié..

Pourriez-vous m'aiguiller ?

Merci.