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
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"
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
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)
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"
Partager