Question

J'ai un projet construit avec autotools, divisé en deux dossiers; le premier, lib , crée des bibliothèques, et la seconde, Outils , des liens à leur encontre.
La construction échoue parce que libtool renomme les bibliothèques comme suit tout en re-lier:

mylib.1.0.0 -> mylib.1.0.0U

Après le changement de nom se produit, de toute façon, le nom précédent est pas rétablie, ni une nouvelle mylib.1.0.0 créé, de sorte que les liens symboliques comme mylib encore le point au nom sans autre U et la mise en relation échoue.
y-a-t-il un moyen d'éviter ça? ou peut-être même pour éviter le tout édition de liens? J'utilise la version 1.5.6 libtool.

Était-ce utile?

La solution

Apparemment, je l'ai eu ...
Le problème est facilement reproductible avec la structure suivante:

  • lib dossier, bâtiment:
    • Liba
    • libb , selon le Liba
  • src dossier, la construction prog , qui relie libb

Ensuite, vous devez spécifier dans lib / Makefile.am:

lib_LTLIBRARIES = \
    libb.la \
    liba.la

A ce moment un fichier liba.so.1.0.0U sera produit. Spécification à la place (notez que l'ordre des bibliothèques est modifiée)

lib_LTLIBRARIES = \
    liba.la \
    libb.la

la construction fonctionne très bien.
Je suis d'accord que la spécification des choses la meilleure chose à faire dans le bon ordre est en tout cas; ce qui est encore peu clair pour moi si c'est un bug libtool ou non ...

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top