Précédent   Forum des professionnels en informatique > Systèmes > Linux > Applications > Shell
Shell Vos questions sur l'utilisation des commandes shell
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 11/03/2007, 11h54   #1
Candidat au titre de Membre du Club
 
Inscription : juillet 2006
Messages : 55
Détails du profil
Informations forums :
Inscription : juillet 2006
Messages : 55
Points : 12
Points : 12
Par défaut probleme Makefile librairie

Bonjour
Je développe en ce moment une petite application multitache (constituée de 5 tâches seulement).

J'ai pour cela du écrire mon propre makefile (ce choix m'est imposé)

Une librairie nécessaire à l'application m'est fournie, elle s'appelle libtp.a
et se trouve dans un dossier /public/tp/tp-multitache
Je n'ai pas le droit d'en faire une copie locale.
Or quand je lance un make, la compilation passe, mais l'édition des liens de parvient pas à résoudre les références vers 2 fonctions, qui sont implémentées dans cette librairie, et dont je dispose du prototype (dans un fichier .h)
J'en déduis que le linkage de la librairie n'a pas fonctionné
Pourtant voici mon makefile

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 
 
CXX=g++
CXXFLAGS=-Wall -ansi -I/public/tp/tp-multitache
LDFLAGS=-Wall -ansi -L/public/tp/tp-multitache
EXE=parking
OBJS=main.o 
RMFLAGS=-f
LIBS=-ltp
 
 
all: $(EXE)
 
parking: $(OBJS) 
	$(CXX) -o $@ $^ $(LDFLAGS) -static $(LIBS)
 
%.o: %.cpp
	$(CXX) -o $@ -c $< $(CXXFLAGS)
 
clean:
	rm $(RMFLAGS) $(OBJS) $(EXE)
J'ai essayé quelques variantes, genre j'ai mis le static à tout hasard mais ça ne change rien. Par ailleurs, j'obtiens parfois l'erreur "escamotage incomplet ... lors de la recherche de la librairie libtp.a"

Si quelqu'un pouvait m'aider..........Je l'en remercie
Je voudrais aussi préciser que les règles implicites semblent être correctes, puisque la commande qui est executée d'après l'écho du shell, est :

g++ -o parking main.o -Wall -ansi -L/public/tp/tp-multitache -static -ltp




En fait je viens de faire un nouvel essai en commentant les appels aux fonctions qui posent problème, mais y a toujours cette erreur bizzare d
"escamotage incomplet lors de la recherche de -ltp"
abennis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/03/2007, 12h18   #2
Candidat au titre de Membre du Club
 
Inscription : juillet 2006
Messages : 55
Détails du profil
Informations forums :
Inscription : juillet 2006
Messages : 55
Points : 12
Points : 12
En fait le problème vient apparemment d'ailleurs.
La compilation ne fonctionne pas à distance, il faut être sur une machine de la plate forme Linux qu'on utilise.
abennis est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h55.


 
 
 
 
Partenaires

Hébergement Web