dyld
의 맨 페이지 (동적 링크 편집기)는 다음과 같이 말합니다.
DYLD_FALLBACK_LIBRARY_PATH ...는 콜론으로 구분 된 라이브러리가있는 디렉토리 목록입니다. 설치 경로에없는 라이브러리의 기본 위치로 사용됩니다. 기본적으로 $ (HOME)/lib :/usr/local/lib :/lib :/usr/lib로 설정됩니다.Mac OS X에서 객체 코드 라이브러리의 기본 검색 경로를 찾는 방법은 무엇입니까?
그러나 맨 페이지와 달리 DYLD_FALLBACK_LIBRARY_PATH는 Mac OS X에서 기본적으로 비어 있거나 정의되지 않습니다. 다음 bash 명령에 나와 있습니다. 다음 bash는 스크립트에 의해 계시
printenv DYLD_FALLBACK_LIBRARY_PATH
# OR
echo $DYLD_FALLBACK_LIBRARY_PATH
은 비어 있거나 정의되는 사실, 모든 환경 변수를 나열 dyld
의 매뉴얼 페이지에 설명했다. 리눅스 저장 라이브러리를 찾기 위해 로더에 의해 검색되는 모든 디렉토리는 맥 OSX가 /etc/ld.so.conf
부족 곳
#!/bin/bash
while IFS=$'\n' read -r; do
printf %b "$REPLY = "
printenv "$REPLY"
echo
done < <(cat << EOF
DYLD_FRAMEWORK_PATH
DYLD_FALLBACK_FRAMEWORK_PATH
DYLD_LIBRARY_PATH
DYLD_FALLBACK_LIBRARY_PATH
DYLD_ROOT_PATH
DYLD_SHARED_REGION
DYLD_INSERT_LIBRARIES
DYLD_FORCE_FLAT_NAMESPACE
DYLD_IMAGE_SUFFIX
DYLD_PRINT_OPTS
DYLD_PRINT_ENV
DYLD_PRINT_LIBRARIES
DYLD_PRINT_LIBRARIES_POST_LAUNCH
DYLD_BIND_AT_LAUNCH
DYLD_NO_FIX_PREBINDING
DYLD_DISABLE_DOFS
DYLD_PRINT_APIS
DYLD_PRINT_BINDINGS
DYLD_PRINT_INITIALIZERS
DYLD_PRINT_REBASINGS
DYLD_PRINT_SEGMENTS
DYLD_PRINT_STATISTICS
DYLD_PRINT_DOFS
DYLD_NO_PIE
DYLD_SHARED_CACHE_DIR
DYLD_SHARED_CACHE_DONT_VALIDATE
EOF
)
또한, /etc/ld.so.conf
동안이다.
그런 다음 Mac OS X는 라이브러리의 기본 검색 경로를 어디에 저장합니까?
https://stackoverflow.com/questions/7285587/what-are-the-default-search-directories-to-link-a-library-on-mac-os-x – jwdonahue
가능한 복제본 인 것으로 보입니다. [Mac OS X에서 라이브러리를 링크하는 기본 검색 디렉토리는 무엇입니까?] (https : // stackoverflow.com/questions/7285587/what-are-the-default-search-directories-to-link-a-library-on-mac-os-x) – jwdonahue
나는 또한 이것을 직면하고있다. DYLD_FALLBACK_LIBRARY_PATH 또는 DYLD_LIBRARY_PATH에 경로를 추가하고 싶지만 현재 값을 쿼리 할 수 없습니다. 나는이 질문이 매우 타당하다고 믿는다. 오히려 나는 스스로 다른 값을 하드 코딩하는 것보다 OSx 하드 코드 된 값을 사용하려고한다. : / –