🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: fr.comp.os.ms-windows.programmation
Article #84

Liaison statique ou dynamique

#84
From: Lucas Levrel
Date: Thu, 08 Mar 2012 12:01
36 lines
3294 bytes
Bonjour,

Je cross-poste sans FU2 car je ne sais pas quel est le groupe le plus 
adapt�, et la r�ponse peut m�me varier selon l'OS, alors je vous laisse 
voir...

J'�cris un programme en C++ avec une interface en GTK+ (mais mes questions 
sont plus g�n�rales). Sous Windows, GTK+ est livr� avec des .def, .lib, 
.dll.a, et .dll (chaque bibli a un ou plusieurs fichiers avec ces 
extensions). Sous Linux j'ai des .so et .la pour certaines biblis, 
seulement des .so pour d'autres.

Je compile avec GCC (dans MinGW sous Windows). Je voudrais obtenir un 
ex�cutable qui se suffise � lui-m�me, c'est-�-dire utilisable sans 
installer GTK+ au pr�alable (donc distribuable sans redistribuer GTK+ � 
c�t�). Je croyais l'obtenir en passant l'option -static � GCC, d'ailleurs 
le fichier produit est beaucoup plus gros avec cette option que sans. Mais 
patatras : sous Win, si je tente de lancer l'ex�cutable ��statique�� sur 
une machine n'ayant pas GTK+, j'obtiens une erreur ��ne trouve pas 
libmachin.dll���; sous Linux, n'ayant pas de machine sans GTK+ � dispo, je 
n'ai pas pu tester (y a-t-il moyen de ��cacher�� les biblis install�es le 
temps d'un test ?).

Mes questions sont donc :
- peut-on produire un ex�cutable qui se suffise � lui-m�me, et avec 
quelles options de compilation�?
- si oui, quels sont les ingr�dients n�cessaires en termes de 
biblioth�ques (quel format de fichier)�?
- � d�faut, peut-on ��d�graisser�� des biblioth�ques dynamiques pour n'en 
garder que les fonctions r�ellement utilis�es par l'application ? (L'id�e 
�tant d'all�ger au maximum le paquet ex�cutable+biblis � distribuer.)

Merci pour votre aide et vos explications.

-- 
LL
Technical Details
Message-ID: <alpine.LNX.2.00.1203081235290.3019@coulomb.univ-paris12.fr>
Path: arc1-ca.pugleaf.net!h9ni2282pbe.0!nntp.google.com!news1.google.com!goblin2!goblin1!goblin.stu.neva.ru!eweka.nl!hq-usenetpeers.eweka.nl!border3.nntp.ams.giganews.com!border1.nntp.ams.giganews.com!nntp.giganews.com!de-l.enfer-du-nord.net!feeder2.enfer-du-nord.net!feeder1.enfer-du-nord.net!talisker.lacave.net!lacave.net!.POSTED!not-for-mail

Show Full Headers
Complete Article Headers
X-Google-Thread: 1053e6,e33fe3eb88aac390,start
X-Google-NewGroupId: yes
X-Google-Thread: fdcad,e33fe3eb88aac390,start
X-Google-NewGroupId: yes
X-Google-Attributes: gid57559131ff,gid5a994809eb,domainid0,public,usenet
X-Google-Language: FRENCH,ASCII
Received: by 10.68.201.129 with SMTP id ka1mr5113041pbc.6.1331208052524;
        Thu, 08 Mar 2012 04:00:52 -0800 (PST)
Path: arc1-ca.pugleaf.net!h9ni2282pbe.0!nntp.google.com!news1.google.com!goblin2!goblin1!goblin.stu.neva.ru!eweka.nl!hq-usenetpeers.eweka.nl!border3.nntp.ams.giganews.com!border1.nntp.ams.giganews.com!nntp.giganews.com!de-l.enfer-du-nord.net!feeder2.enfer-du-nord.net!feeder1.enfer-du-nord.net!talisker.lacave.net!lacave.net!.POSTED!not-for-mail
From: Lucas Levrel <lucas.levrel@u-pec.fr>
Newsgroups: fr.comp.os.ms-windows.programmation,fr.comp.os.linux.configuration,fr.comp.lang.c,fr.comp.lang.c++
Subject: Liaison statique ou dynamique
Date: Thu, 8 Mar 2012 13:01:49 +0100
Organization: Service de news de lacave.net
Lines: 36
Message-ID: <alpine.LNX.2.00.1203081235290.3019@coulomb.univ-paris12.fr>
NNTP-Posting-Host: exafs.u-pec.fr
Mime-Version: 1.0
X-Trace: talisker.lacave.net 1331208052 63910 193.51.149.88 (8 Mar 2012 12:00:52 GMT)
X-Complaints-To: abuse@lacave.net
NNTP-Posting-Date: Thu, 8 Mar 2012 12:00:52 +0000 (UTC)
User-Agent: Alpine 2.00 (LNX 1167 2008-08-23)
X-X-Sender: lucas@coulomb.univ-paris12.fr
Content-Type: TEXT/PLAIN; format=flowed; charset=ISO-8859-15
Content-Transfer-Encoding: 8BIT