bonjour,
j'utilise CB & MinGW pour faire du thread avec la librairie libpthread dans une fenêtre console.
D'après les forums il me faut libpthreadGC2.a que j'ai copié dans C:\Program Files (x86)\CodeBlocks\MinGW\lib. J'ai placé pthreadGC2.dll au niveau de l'exécutable et pthread.h dans mon répertoire de travail.
PATH est renseigné avec C:\Program Files (x86)\CodeBlocks\MinGW\lib et C:\Program Files (x86)\CodeBlocks\MinGW\bin
Mon code de test:
Résultat de la compil: référence indéfinie vers « _imp__pthread_create » and so on...
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 static pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER; int main() { pthread_t p; int arg = 218, value; pthread_create(&p, NULL, procedure_rdv, (void*)&arg); pthread_join(p, NULL); return 0; } void* procedure_rdv(void* param) { pthread_mutex_lock(&mutex); printf("Point de RdV avec %d\n", *(int*)param); pthread_mutex_unlock(&mutex); return NULL; }
Autre essai, j'ai placé libpthreadGC2.a dans mon répertoire et indiqué à CB Project -> Build Options -> Linker settings = pthreadGC2 même résultat.
Et pourtant si je fais un gcc en ligne de commande dans la fenêtre console, ça compile correctement idem pour l'exécution.
Pour l'instant, j'en suis là. J'édite avec CB et je compile en ligne de commande.
Et je ne comprend VRAIMENT PAS pourquoi !!
Merci pour vos suggestions.
Partager