• # libs statiques pour progs statiques

    Posté par (site web personnel) . En réponse au message Créer un binaire static pour une autre machine ?. Évalué à 3.

    si ton programme dépend d'une librairie A, il faut que tu compile au préalable ta librairie A ainsi que toutes ses sous-librairies en statique (généralement, c'est l'option --enable-static du configure des librairies), ainsi, le --enable-static de ton appli sera pris en compte. mais ce n'est pas tout: un grand nombre de librairies utilise maintenant le principe de dlopen() qui charge des modules si une application en a besoin (c'est le cas de Qt, Gtk+ ...). pour empêcher ce dlopen() et forcer la librairie à être completementt statique, il faut ajouter --disable-modules aux options du configure de ces librairies. malheureusement, cette option n'existe pas pour toutes les librairies. une fois toutes les librairies compilées en statique, vérifie que le Makefile généré par ton configure passe bien l'option -static à gcc pour la compilation de l'appli.

    j'espère ne rien avoir oublié.

    Tout homme qui dirige, qui fait quelque chose, a contre lui ceux qui voudraient faire la même chose, ceux qui font précisément le contraire, et surtout la grande armée des gens d'autant plus sévères qu'ils ne font rien du tout. -- Jules Claretie