Comment puis-je obtenir pthreads de travail dans Windows?

J'ai été en cours d'exécution dans des erreurs telles que celles mentionné ci-dessous lorsque vous essayez de compiler le code contenant les pthreads

warning: return type defaults to 'int' [-Wreturn-type]|
|In function 'print_message_function':|
warning: control reaches end of non-void function [-Wreturn-type]|
| undefined reference to `_imp__pthread_create'|
| undefined reference to `_imp__pthread_create'|
| undefined reference to `_imp__pthread_join'|
| undefined reference to `_imp__pthread_join'|

Je suis à court de GCC sous Windows 7, mais j'ai installé mingw. J'utilise l'IDE Code::Blocks et sélectionnez "compiler fichier en cours". Voici une capture d'écran de l'éditeur de liens paramètres, je suis à une perte ici

Comment puis-je obtenir pthreads de travail dans Windows?

Mise à JOUR: j'ai ajouté -pthread pour les "Autres options du linker" et ça fonctionne mieux. Il y a toujours des problèmes. Quand je compile il dit

|In function 'print_message_function':|
warning: control reaches end of non-void function [-Wreturn-type]|

et quand je vais pour l'exécuter CodeBlocks dit "il semble que le programme n'a pas encore été créé" et quand je clique sur "build" je me suis montré cette erreur

mingw32-g++.exe  -o "SimpleExample.exe" "SimpleExample.o"  -static-libgcc -static-libstdc++ -pthread  
mingw32-g++.exe: error: unrecognized option '-pthread'
Process terminated with status 1 (0 minutes, 0 seconds)
0 errors, 1 warnings (0 minutes, 0 seconds)

Comment puis-je résoudre ce problème? Je veux construire/test sur Windows, mais le programme s'exécuter sur un environnement Unix. Quelle est la différence entre les compiler dans un IDE?

Quelle ligne de commande utilisez-vous pour construire votre code? Vous aurez besoin de lier à la bibliothèque qui implémente les pthreads et aura donc besoin d'inclure -pthread dans la ligne de commande.
Ceux sont des erreurs d'édition de liens, pas d'erreurs du compilateur.
J'ai mis à jour la description. Je suis en utilisant la valeur par défaut des blocs de code à compiler.
Je n'ai jamais utilisé des blocs de code, mais il semble que vous êtes en manque une référence à libpthread. Essayez d'ajouter -pthread pour les autres options du linker.
Je suis aussi à l'aide de CodeBlocks. Avec la solution que vous avez accepté me fait penser que ça a fonctionné pour vous et non, il fonctionne très bien. Vieux problème, je sais. Pourriez-vous ajouter la solution dans le fond de votre Question? La solution semble être dans un Linux ou Mac solution de l'environnement. Serait super que je vais avoir des ennuis avec les threads dans CodeBlock et d'obtenir les mêmes erreurs. J'ai installé le pthread.h manuall, mais vous ne savez pas où mettre le *.les fichiers dll. Merci!

OriginalL'auteur Celeritas | 2013-10-09