Bonjour à tous,

Je peux compiler mon programme avec la commande suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
g++ -DSERVEUR -o pcserv $(shell find ../Outils -name "*.cpp") PcServeur.cpp -lpthread -ljpeg -lX11
L'exécutable compile, link et marche sans problèmes.
Mais le répertoire Outils ayant pas mal de fichiers sources, j'ai voulu en faire une librairie statique pour accélérer la compilation :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
SRC_OUTILS=$(shell find ../Outils -name "*.cpp")
#la listes des .o sans les chemins (uniquement les noms)
OBJ_OUTILS=$(notdir $(subst .cpp,.o,$(SRC_OUTILS)))
liboutils:
	g++ -DSERVEUR -Wall -O0 -ggdb -c $(SRC_OUTILS)
	ar -q liboutils.a $(OBJ_OUTILS)

et je compile maintenant avec la commande suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
g++ -Wall -O0 -ggdb -o pcserv PcServeur.cpp -L../Outils -loutils -lX11 -lpthread -ljpeg
Mon exécutable compile et link sans problème mais ne marche plus :
j'ai l'erreur suivante à l'exécution :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
*** glibc detected *** ./pcserv: munmap_chunk(): invalid pointer: 0x09404038 ***
======= Backtrace: =========
/lib/tls/i686/cmov/libc.so.6[0xb7bd0454]
/usr/lib/libstdc++.so.6(_ZdlPv+0x21)[0xb7dad0b1]
/usr/lib/libstdc++.so.6(_ZNSs4_Rep10_M_destroyERKSaIcE+0x1d)[0xb7d898bd]
/usr/lib/libstdc++.so.6(_ZNSsD1Ev+0x51)[0xb7d8b271]
./pcserv[0x804b711]
/lib/tls/i686/cmov/libc.so.6(__libc_start_main+0xe5)[0xb7b77685]
./pcserv[0x804aad1]
....
...
D'où cela peut-il venir ???