Pages : 1
#1 Le 01/05/2006, à 15: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, à 00: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, à 14: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, à 00: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, à 10:15
- gegemac
Re : Problème avec la libraire lpthread
merci quand même je vai continuer de tester
#6 Le 09/05/2006, à 21: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