Xcode 빌드 설정에서 "아키텍처"와 "유효한 아키텍처"의 차이점은 무엇입니까?
그것들의 의미는 무엇이며 다른 값으로 설정할 수 있습니까?
아키텍처는 구축하고자하는 아키텍처이고, 유효한 아키텍처는 코드베이스로 구축 할 수있는 아키텍처입니다.
따라서 armv7 용 바이너리 만 빌드하려고하지만 armv7 및 armv6에 대해 동일한 소스 코드가 올바르게 컴파일됩니다. 그래서 VALID_ARCHS = armv6 armv7 armv7s
,하지만 당신은 설정 ARCHS = armv7s
즉 당신이 실제로 모든 때문에 원하는 코드로 빌드.
또는 Apple-ese에서 :
ARCHS (아키텍처)
공백으로 구분 된 식별자 목록. 바이너리가 대상으로하는 아키텍처 (ABI, 프로세서 모델)를 지정합니다. 이 빌드 설정이 둘 이상의 아키텍처를 지정하면 생성 된 바이너리에 지정된 각 아키텍처에 대한 객체 코드가 포함될 수 있습니다.
과:
VALID_ARCHS (유효한 아키텍처)
공백으로 구분 된 식별자 목록. 바이너리를 빌드 할 수있는 아키텍처를 지정합니다. 빌드 중에이 목록은 ARCHS 빌드 설정 값과 교차합니다. 결과 목록은 바이너리가 실행될 수있는 아키텍처를 지정합니다. 결과 아키텍처 목록이 비어 있으면 대상이 바이너리를 생성하지 않습니다.
출처 : Xcode 빌드 설정 참조
실제로, 당신은 VALID_ARCHS
홀로 남겨두고 그것을 바꾸는 것에 대해 걱정하지 않고, ARCHS
당신이 만들고 싶은 아키텍처를 설정하기 위해 바이올린 을 사용합니다. 일반적으로 디버그 빌드는 just로 설정 NATIVE_ARCH
합니다. 테스트 / 실행할 머신의 디버그 버전 만 빌드하고 지원하려는 모든 아키텍처에 대한 릴리스 빌드입니다.
Apple 문서에서 바이너리 Xcode가 빌드 할 목록이 Valid Architectures
와 교차 한다는 것을 알고 Architectures
있습니다.
제레미의 대답이 옳다고 생각하지 않습니다.
따라서 armv7 용 바이너리 만 빌드하려고하지만
armv7 및 armv6에 대해 동일한 소스 코드가 올바르게 컴파일됩니다. 그래서VALID_ARCHS = armv6 armv7 armv7s
그 코드에 실제로 구축하려는 모든 때문에,하지만 당신은 아치 = armv7s를 설정합니다.
설정 VALID_ARCHS = armv6 armv7 armv7s
하고 설정 ARCHS = armv7s
하면 바이너리 Xcode의 결과가 armv7s이며 armv6 / armv7과 호환되지 않습니다.
그리고 armv6 / armv7 / armv7s와 호환하려면 설정 VALID_ARCHS = armv6 armv7 armv7s
하고 ARCHS = armv6
.이 방법으로 바이너리 Xcode의 결과는 armv6이며 arm 프로세서가 이전 버전과 호환되므로 armv6 / armv7 / armv7 모두에서 잘 실행될 수 있습니다 .
'IT박스' 카테고리의 다른 글
Node.js 웹 애플리케이션 예제 / 튜토리얼 (0) | 2020.08.02 |
---|---|
Mac 용 C ++ IDE (0) | 2020.08.02 |
약속의 가치에 접근하는 방법? (0) | 2020.08.02 |
@ types / *가`dependencies` 또는`devDependencies`로 들어가는지를 어떻게 결정합니까? (0) | 2020.08.02 |
자바 주석 (0) | 2020.08.02 |