Lier Macports bibliothèques à l'application XCode
-
29-09-2019 - |
Question
Je suis en train de distribuer avec l'application de mon application dépendances.
J'ai les paquets macports librsvg, boost et installé cairo 64 bits uniquement sur mon système Snow Leopard. Lorsque je crée un paquet .app de mon programme, il ne fonctionne pas sur les machines sans macports et les bibliothèques pertinentes installées parce qu'ils ne sont pas inclus avec l'application, qui recherche les bibliothèques dans / opt.
J'ai essayé le drapeau --static pour la liaison statique, mais causé libcrt0 erreurs.
Quelle est la meilleure méthode pour relier les bibliothèques de MacPorts et leurs dépendances à une application Mac OS X approprié pour la distribution solitaire?
La solution
Vous aurez envie de copier les bibliothèques dans votre paquet d'applications, en utilisant un Copier les fichiers Construire de phase. dylibs devraient être mis dans le répertoire Frameworks
dans le faisceau d'application. Vous devez également ajouter les bibliothèques à votre projet Xcode.
Autres conseils
Essayez d'utiliser py2app pour créer une application autonome.
Je devais le faire pour ce jsoncpp. Ce que je faisais était je suis allé aux paramètres de l'éditeur de liens dans le cadre du projet> Phases de build> Lien binaire avec les bibliothèques ont ensuite utilisé l'ajouter d'autres pour aller au chemin de ma bibliothèque et ajouter la bibliothèque à partir du dossier qui serait sous opt / local / lib dans le défaut configuration pour MacPort
obtenir les fichiers d'en-tête était un peu plus compliqué. Dans ce cas, j'avais fini par aller à usr / include trouver le fichier / dossier avec les en-têtes, le copier dans mon projet et dans le fichier cpp j'ai ajouté la ligne include avec des guillemets ( « »)
par exemple., Déplacé / usr / include / JSON dans le dossier du projet RestTemplate en utilisant copie. puis ajouté à main.cpp
#include "json/json.h"