Clang 또는 GCC의 Darwin 백엔드를 사용하여 OSX 용 실행 파일을 만들 때 -mmacosx-version-min=version
플래그를 사용하여 실행 파일이 실행될 OSX의 가장 빠른 버전을 설정할 수 있습니다.바이너리가 컴파일 된 최소 OSX 버전 결정
플래그를 컴파일하는 데 사용 된 특정 실행 파일에서 추적 할 수있는 방법이 있습니까? 나는. 주어진 실행 파일의 대상이되는 최소 OSX 버전을 결정하는 방법이 있습니까?
Clang 또는 GCC의 Darwin 백엔드를 사용하여 OSX 용 실행 파일을 만들 때 -mmacosx-version-min=version
플래그를 사용하여 실행 파일이 실행될 OSX의 가장 빠른 버전을 설정할 수 있습니다.바이너리가 컴파일 된 최소 OSX 버전 결정
플래그를 컴파일하는 데 사용 된 특정 실행 파일에서 추적 할 수있는 방법이 있습니까? 나는. 주어진 실행 파일의 대상이되는 최소 OSX 버전을 결정하는 방법이 있습니까?
otool -l /path/to/binary
을 사용하고 LC_VERSION_MIN_MACOSX
load 명령을 검사하십시오. 특히 버전 필드 있어야 10.7 타겟팅 배포 10.8 SDK 컴파일 된 바이너리 반면
Load command 9
cmd LC_VERSION_MIN_MACOSX
cmdsize 16
version 10.8
sdk 10.8
:
예를 들어, 전개 대상과 10.8 SDK로 컴파일 된 바이너리 (-mmacosx-version-min
) 10.8이 같은 LC_VERSION_MIN_MACOSX
있어야
Load command 9
cmd LC_VERSION_MIN_MACOSX
cmdsize 16
version 10.7
sdk 10.8
정적 라이브러리 (".a"파일)에 대해이 정보를 얻을 수있는 방법이 있습니까? –
이것은 정적 라이브러리 (.a 파일)에도 적용됩니다. 라이브러리에있는 각 오브젝트마다로드 명령이 표시됩니다. Mac 용 'MachOView'라는 멋진 UI 응용 프로그램이있어 바이너리를 편리하게 탐색하고로드 명령을 쉽게 검색 할 수 있습니다. –
기록을 위해 Apple은 GPLv3으로 라이센스가 변경되어 GCC에 기부하지 않았습니다. 가능할 때마다 Clang/LLVM을 사용하십시오. –