[C++] Linker, linux, tout ca

Linker, linux, tout ca [C++] - Programmation

Marsh Posté le 28-05-2001 à 13:56:13    

Bonjour a tous,
 
J'ai ecrit un petit utilitaire sous Glow, et comme toute librairie qui se respecte, elle a des fichiers partages. J'aimerais savoir s'il est possible d'inclure les librairies utilisees au moment du linkage, de maniere a avoir un gros executable independant.
Comme ca, si je lance le programme sur un autre PC sous Linux, j'ai pas besoin de reinstaller les libraires...
 
Ca se peut-y ? :??:
 
Merci de votre aide :hello:

Reply

Marsh Posté le 28-05-2001 à 13:56:13   

Reply

Marsh Posté le 28-05-2001 à 13:56:59    

Ah.. et svp, pas de RTFM please, j'ai lu les manuels de g++ et de ld, j'ai rien trouve...

Reply

Marsh Posté le 28-05-2001 à 14:10:30    

je dirais a premiere vue:
 
-static dans gcc
 
et  
 
-Bstatic pour ld
 
PS: attention la ligne doit etre de la forme:
 
gcc (options) -static  -o (prog) (tes .o) -l(libs)
 
Sinon ca marche pas. N'oublie pas non plus que la plupart des libs sont linkés dynamiquement, donc tu vas te retrouver avec une tonne de dependances (et un executable monstrueux).
 
PPS: en fait tu peux mixer statique et dynamique:
 
gcc (options) -o (nom du prog) (tes .o) -L(chemin des libs) -Wl,-Bstatic -l(les libs statiques) -Wl,-Bdynamic -l(les libs dynamiques)
 
-Wl sert a passer un arg au linker

 

[edit]--Message édité par MC--[/edit]

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed