J'essaye d'ajouter une interface GUI à un outil UNIX. J'ai réussi à faire
fonctionner l'outil que j'ai placé dans le bundle de l'application en
suivant l'exemple de Apple (code source de Moriarity).
Comme l'outil UNIX utilise la librairie SDL (www.libsdl.org) j'aimerais la
mettre aussi dans le bundle pour éviter que l'utilisateur n'ait à
l'installer séparément (en utilisant fink par exemple).
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Schmurtz
Carlo Noben wrote:
Bonjour,
De même
J'essaye d'ajouter une interface GUI à un outil UNIX. J'ai réussi à faire fonctionner l'outil que j'ai placé dans le bundle de l'application en suivant l'exemple de Apple (code source de Moriarity).
Comme l'outil UNIX utilise la librairie SDL (www.libsdl.org) j'aimerais la mettre aussi dans le bundle pour éviter que l'utilisateur n'ait à l'installer séparément (en utilisant fink par exemple).
Très bonne initiative.
Est-ce qu'il y a un moyen de le faire?
Je ne sais pas trop comment faire proprement, mais j'ai quelques idées, les voici :
- tout simplement mettre la bibliothèque juste à coté du fichier exécutable du bundle (dans Content/MacOS).
- sachant que les bibliothèques partagés (autre que frameworks) sont recherchées dans les chemins d'accès de DYLD_LIBRARY_PATH (cf man dyld), il suffit peut-être d'ajouter le chemin d'accès de cette bibliothèque dans cette variable. Pour que ce soit automatique, je proposerai de remplacer le fichier exécutable (Content/MacOS/MonProgramme) par un script shell :
en supposant que le fichier MonProgramme d'origine soit renommé en MonProgramme_bis
- créer un framework avec cette bibliothèque en créant soit même tous les dossiers afin d'obetenir la hiérarchie suivante :
SDL.framework SDL.framework/Resources -> Versions/Current/Resources (lien symbolique) SDL.framework/libsdl -> Versions/Current/libsdl SDL.framework/Versions SDL.framework/Versions/A SDL.framework/Versions/A/Resources SDL.framework/Versions/A/Resources/Info.plist (voir le contenu de framework existant) SDL.framework/Versions/A/Resources/version.plist (idem) SDL.framework/Versions/A/libsdl SDL.framework/Versions/Current -> A
et mettre se framework dans MonProgramme.app/Content/PrivateFrameworks/
- recompiler la bibliothèque à partir des sources avec xcode pour créer un vrai framework.
-- Schmurtz
Carlo Noben wrote:
Bonjour,
De même
J'essaye d'ajouter une interface GUI à un outil UNIX. J'ai réussi à faire
fonctionner l'outil que j'ai placé dans le bundle de l'application en
suivant l'exemple de Apple (code source de Moriarity).
Comme l'outil UNIX utilise la librairie SDL (www.libsdl.org) j'aimerais la
mettre aussi dans le bundle pour éviter que l'utilisateur n'ait à
l'installer séparément (en utilisant fink par exemple).
Très bonne initiative.
Est-ce qu'il y a un moyen de le faire?
Je ne sais pas trop comment faire proprement, mais j'ai quelques idées,
les voici :
- tout simplement mettre la bibliothèque juste à coté du fichier
exécutable du bundle (dans Content/MacOS).
- sachant que les bibliothèques partagés (autre que frameworks) sont
recherchées dans les chemins d'accès de DYLD_LIBRARY_PATH (cf man dyld),
il suffit peut-être d'ajouter le chemin d'accès de cette bibliothèque
dans cette variable. Pour que ce soit automatique, je proposerai de
remplacer le fichier exécutable (Content/MacOS/MonProgramme) par un
script shell :
J'essaye d'ajouter une interface GUI à un outil UNIX. J'ai réussi à faire fonctionner l'outil que j'ai placé dans le bundle de l'application en suivant l'exemple de Apple (code source de Moriarity).
Comme l'outil UNIX utilise la librairie SDL (www.libsdl.org) j'aimerais la mettre aussi dans le bundle pour éviter que l'utilisateur n'ait à l'installer séparément (en utilisant fink par exemple).
Très bonne initiative.
Est-ce qu'il y a un moyen de le faire?
Je ne sais pas trop comment faire proprement, mais j'ai quelques idées, les voici :
- tout simplement mettre la bibliothèque juste à coté du fichier exécutable du bundle (dans Content/MacOS).
- sachant que les bibliothèques partagés (autre que frameworks) sont recherchées dans les chemins d'accès de DYLD_LIBRARY_PATH (cf man dyld), il suffit peut-être d'ajouter le chemin d'accès de cette bibliothèque dans cette variable. Pour que ce soit automatique, je proposerai de remplacer le fichier exécutable (Content/MacOS/MonProgramme) par un script shell :
en supposant que le fichier MonProgramme d'origine soit renommé en MonProgramme_bis
- créer un framework avec cette bibliothèque en créant soit même tous les dossiers afin d'obetenir la hiérarchie suivante :
SDL.framework SDL.framework/Resources -> Versions/Current/Resources (lien symbolique) SDL.framework/libsdl -> Versions/Current/libsdl SDL.framework/Versions SDL.framework/Versions/A SDL.framework/Versions/A/Resources SDL.framework/Versions/A/Resources/Info.plist (voir le contenu de framework existant) SDL.framework/Versions/A/Resources/version.plist (idem) SDL.framework/Versions/A/libsdl SDL.framework/Versions/Current -> A
et mettre se framework dans MonProgramme.app/Content/PrivateFrameworks/
- recompiler la bibliothèque à partir des sources avec xcode pour créer un vrai framework.
-- Schmurtz
Carlo Noben
in article c22e3r$9sr$, Schmurtz at wrote on 3/2/04 11:57 AM:
- créer un framework avec cette bibliothèque en créant soit même tous les dossiers afin d'obetenir la hiérarchie suivante :
SDL.framework SDL.framework/Resources -> Versions/Current/Resources (lien symbolique) et mettre se framework dans MonProgramme.app/Content/PrivateFrameworks/
- recompiler la bibliothèque à partir des sources avec xcode pour créer un vrai framework.
Merci pour tes suggestions, mais comme je n'y ai compris pas grand chose, je vais d'abord essayer d'ajouter la librairie directement à l'exécutable... :)
C.
in article c22e3r$9sr$3@news.polytechnique.fr, Schmurtz at moi@ici.com wrote
on 3/2/04 11:57 AM:
- créer un framework avec cette bibliothèque en créant soit même tous
les dossiers afin d'obetenir la hiérarchie suivante :
SDL.framework
SDL.framework/Resources -> Versions/Current/Resources (lien symbolique)
et mettre se framework dans MonProgramme.app/Content/PrivateFrameworks/
- recompiler la bibliothèque à partir des sources avec xcode pour créer
un vrai framework.
Merci pour tes suggestions, mais comme je n'y ai compris pas grand chose, je
vais d'abord essayer d'ajouter la librairie directement à l'exécutable... :)
in article c22e3r$9sr$, Schmurtz at wrote on 3/2/04 11:57 AM:
- créer un framework avec cette bibliothèque en créant soit même tous les dossiers afin d'obetenir la hiérarchie suivante :
SDL.framework SDL.framework/Resources -> Versions/Current/Resources (lien symbolique) et mettre se framework dans MonProgramme.app/Content/PrivateFrameworks/
- recompiler la bibliothèque à partir des sources avec xcode pour créer un vrai framework.
Merci pour tes suggestions, mais comme je n'y ai compris pas grand chose, je vais d'abord essayer d'ajouter la librairie directement à l'exécutable... :)