Próbuję zainstalować solver napisany w C ++ na moim Macu (OS X), do użytku z kodem, który napisałem w XCode.
Dokumentacja solvera mówi:
Pamiętaj, aby mieć „.” w twoim
DYLD_LIBRARY_PATH
celu
- uruchom gotowe pliki wykonywalne
- link do libamg.dylib (i gfortran RTSlibs)
Naprawdę nie rozumiem, co to znaczy. Gdzie i co muszę zmienić?
Zrobiłem trochę googlingu, ale nie spotkałem niczego, co byłoby wystarczająco proste dla nowicjusza takiego jak ja! Jeśli byliby tam ludzie cierpliwi, którzy nie mieliby nic przeciwko skierowaniu mnie do zasobu online lub przekazaniu abc-abs w jaki sposób i gdzie ustawić zmienne środowiskowe, byłbym bardzo wdzięczny.
DYLD_LIBRARY_PATH
aniDYLD_FRAMEWORK_PATH
, ponieważ może to uniemożliwić załadowanym bibliotekom znalezienie bibliotek dostarczonych przez system. Aby to działało lepiej, użyjFALLBACK
wersji. Więcej informacji w tej odpowiedzi: stackoverflow.com/a/3172515/43615Nigdy nie należy ustawiać
export DYLD_LIBRARY_PATH
w systemie.Ścieżki do biblioteki współdzielonej można naprawić za pomocą
otool -L
iinstall_name_tool
.Na przykład, jeśli skompilujesz Perla DBD-MySQL, nie będziesz mógł go użyć, ponieważ linker nie wie, gdzie zainstalowałeś MySQL.
To takie proste.
źródło
DYLD_FALLBACK_FRAMEWORK_PATH
, to robi prac w tej sprawie. Jest to o wiele łatwiejsze niż zmiana wewnętrznych ścieżek bibliotek, zwłaszcza jeśli musisz dostarczyć wbudowane dylibs za pomocą aplikacji i nie możesz przewidzieć ścieżki, na której się znajdą.W Xcode 4 możesz dodać go do schematu projektu, aby uniknąć błędów takich jak ten:
W menu kliknij „Produkt” -> „Edycja schematu” -> karta „Argumenty” -> Dodaj „Zmienne środowiskowe” -> Klucz: DYLD_LIBRARY_PATH Wartość: / Users / MyUserAccount / path / to / lib
Zmień ścieżkę do swojego konta użytkownika i pełną ścieżkę do folderu biblioteki.
Powinieneś być w stanie zbudować i uruchomić.
źródło