J'essaye de construire un framework avec Autotools sur MacOS. Ce framework contient une librairie, appelons-la libmytools.dylib, et un exécutable qui utilise la librairie. Ce que je veux, c'est relier cette bibliothèque dynamiquement à l'exécution.Autotools - libtool: lien: -rpath avec @executable_path sur MacOS
L'exécutable est généralement installé à /Library/Frameworks/mytools.Framework/Versions/Current/Commands/mytools
La bibliothèque est généralement installé à /Library/Frameworks/mytools.Framework/Versions/Current/Libraries/libmytools.dylib
Dans le cas où le cadre est installé à cet endroit, tout fonctionne très bien, mais quand le cadre est pas installé sur la machine, mais à la place il est seulement intégré dans un autre projet, la bibliothèque ne peut pas être trouvée.
Ce que je besoin est un soi-disant « RUNPATH bibliothèque à charge » comme décrit ici: https://developer.apple.com/library/content/documentation/DeveloperTools/Conceptual/DynamicLibraries/100-Articles/RunpathDependentLibraries.html
Alors, je me ajoutait mytools_LDFLAGS = -rpath @executable_path/../Libraries
au makefile.
Mais malheureusement libtool refuse de lier mon exécutable avec le -rpath dynamique et montre l'erreur suivante: libtool: link: only absolute run-paths are allowed.
J'ai aussi essayé mytools_LDFLAGS = -dynamic -rpath @executable_path/../Libraries
mais le résultat est le même ...
Qu'est-ce que je fais faux??
Merci beaucoup! ** install_name_tool ** était l'indice dans la bonne direction :) – ndreisg