Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 01/05/2006, à 16:39

gegemac

Problème avec la libraire lpthread

J'ai un programme qui utilise la librairie lpthread et voila l'erreur que j'ai quand je lance le makefile:

./Makefile ./Makefile: line 2: SimulDist:serveur.o: command not found
/usr/bin/ld: ne peut trouver -lpthread
collect2: ld a retourné 1 code d'état d'exécution
/usr/bin/ld: ne peut trouver -lpthread
collect2: ld a retourné 1 code d'état d'exécution
./Makefile: line 5: serveur.o:serveur.cc: command not found
: Aucun fichier ou répertoire de ce type
serveur.cc:16: erreur: ‘time_t’ does not name a type
serveur.cc:22: erreur: ‘SOCK_DGRAM’ was not declared in this scope
serveur.cc:24: erreur: aggregate ‘sockaddr_in client’ has incomplete type and cannot be defined
serveur.cc: In function ‘void initTk(std::string*)’:
serveur.cc:58: erreur: ‘time’ was not declared in this scope
........

Ca commence à faire un moment que je cherche donc je  poste mon problème ici.Merci d'avance de votre aide.

#2 Le 03/05/2006, à 01:04

gene69

Re : Problème avec la libraire lpthread

dans mon makefile moi j'avais...(cherche)...

CC              =  gcc
CCFLAGS         = -Wall -D_REENTRANT
LIBS            = -lm -lpthread

j'utilisais des ppppppthread !

m'enfin c'était du C... pas du C++

Deplus il me semble que ceci est caractéristique de l'oubli d'inclusion de fichier d'entête.
serveur.cc:16: erreur: ‘time_t’ does not name a type


Quand le berger est lâche, le loup chie de la laine.
A (draft) guide to UFO Alien-Invasion

Hors ligne

#3 Le 04/05/2006, à 15:34

gegemac

Re : Problème avec la libraire lpthread

voila mon make file :

#Makefile

SimulDist:serveur.o client.o sockdist.o sock.o

    g++ -o serveur serveur.o sockdist.o sock.o -lpthread

    g++ -o client client.o sockdist.o sock.o -lpthread

serveur.o:serveur.cc library.h sockdist.cc sockdist.h sock.cc sock.h

    g++ -c serveur.cc sockdist.cc sock.cc

client.o:client.cc library.h sockdist.cc sockdist.h sock.cc sock.h

    g++ -c client.cc sockdist.cc sock.cc

#4 Le 05/05/2006, à 01:25

gene69

Re : Problème avec la libraire lpthread

renseigne toi sur le flag reentrant:
-D_REENTRANT sur gcc il est necessaire.

Bon point de vue makefile je ne suis pas un grand expert puisque j'utilise un makefile générique mais bon... ça m'a l'air d'une erreur du makefile:

./Makefile: line 5: serveur.o:serveur.cc: command not found
: Aucun fichier ou répertoire de ce type

tu es sur que ta source est écrite entierement en C++ ?

je saurai pas mieux t'aider pour l'instant...


Quand le berger est lâche, le loup chie de la laine.
A (draft) guide to UFO Alien-Invasion

Hors ligne

#5 Le 05/05/2006, à 11:15

gegemac

Re : Problème avec la libraire lpthread

merci quand même je vai continuer de tester smile

#6 Le 09/05/2006, à 22:38

Clouclou

Re : Problème avec la libraire lpthread

Je suis pas un expert du make mais il y a deux trois trucs qui me semble pas terrible :


le ./MAkefile  : on execute jamais de fichier makefile  mais on utilise la commande make qui va chercher dans le répertoire courant le fichier de configuration "Makefile". C'est pour cela qu'il y a des "command not found'


la syntaxe des make est assez strict :
il faut mettre un espace apres le ':' et une tabulation avant la commande à executer

exemple :
Ihm.o: Ihm.cpp Ihm.h
    g++ -Wall -c Ihm.cpp -o Ihm.o