J'essaie d'installer un solveur écrit en C ++ sur mon Mac (OS X), pour l'utiliser avec du code que j'ai écrit en XCode.
La documentation du solveur dit ceci:
Assurez-vous d'avoir "." dans votre
DYLD_LIBRARY_PATH
afin de
- exécuter les exécutables prêts à l'emploi
- lien avec le libamg.dylib (et le gfortran RTSlibs)
Je ne comprends pas vraiment ce que cela signifie. Où et de quoi ai-je besoin pour changer quoi?
J'ai fait quelques recherches sur Google, mais je n'ai rien trouvé de suffisamment simple pour un débutant comme moi! S'il y a des patients qui ne voudraient pas me diriger vers une ressource en ligne ou me donner les ab-cs de comment et où définir les variables d'environnement, je serais très reconnaissant.
DYLD_LIBRARY_PATH
niDYLD_FRAMEWORK_PATH
, car cela peut empêcher ces bibliothèques chargées de trouver des bibliothèques fournies par le système. Pour que cela fonctionne mieux, utilisez plutôt lesFALLBACK
versions. Plus d'informations dans cette réponse: stackoverflow.com/a/3172515/43615Il ne faut jamais configurer
export DYLD_LIBRARY_PATH
votre système.Les chemins de bibliothèque partagée peuvent être corrigés à l'aide de
otool -L
etinstall_name_tool
.Par exemple, si vous compilez Perl DBD-MySQL, vous ne pourrez pas l'utiliser car l'éditeur de liens ne sait pas où vous avez installé MySQL.
C'est aussi simple que ça.
la source
DYLD_FALLBACK_FRAMEWORK_PATH
, il fait le travail dans ce cas. C'est beaucoup plus facile que de changer les chemins internes des bibliothèques, surtout si vous devez fournir les dylibs construits avec votre application et que vous ne pouvez pas prédire le chemin vers lequel ils aboutissent.Dans Xcode 4, vous pouvez l'ajouter au schéma de projet pour éviter des erreurs comme celle-ci:
Dans le menu, cliquez sur "Produit" -> "Modifier le schéma" -> onglet "Arguments" -> Ajouter "Variables d'environnement" -> Clé: DYLD_LIBRARY_PATH Valeur: / Users / MyUserAccount / path / to / lib
Modifiez le chemin d'accès à votre compte d'utilisateur et le chemin d'accès complet au dossier de la bibliothèque.
Vous devriez pouvoir construire et exécuter.
la source