program tip

“Mapping architecture arm64 to x86_64”경고는 무엇을 의미합니까?

radiobox 2020. 11. 30. 08:02
반응형

“Mapping architecture arm64 to x86_64”경고는 무엇을 의미합니까?


내 프레임 워크를 Xcode 10 베타 (10L176w)로 마이그레이션 한 후 다음과 같은 경고를 받기 시작했습니다.

arm64 아키텍처를 x86_64에 매핑합니다. 이 대상의 아키텍처 및 유효한 아키텍처 빌드 설정이 iOS 시뮬레이터 플랫폼에 대해 올바르게 구성되었는지 확인하십시오.

... 그리고 :

armv7 아키텍처를 i386에 매핑합니다. 이 대상의 아키텍처 및 유효한 아키텍처 빌드 설정이 iOS 시뮬레이터 플랫폼에 대해 올바르게 구성되었는지 확인하십시오.

이러한 경고에도 불구하고 빌드 및 단위 테스트는 모두 Ok를 통과합니다. Swift 4.2를 사용하고 있습니다.

그래도 이러한 경고는 무엇입니까?


빌드 설정으로 이동하여 아래와 같이 수행 하십시오.

여기에 이미지 설명 입력


아키텍처 설정과 일치하는 유효한 아키텍처 설정을 변경하여 이러한 경고를 음소거 할 수있었습니다 .$(ARCHS_STANDARD)

이상하게도 이것은 armv7 arm64기본 설정 인과 비교하여 로 표시 armv7 armv7s arm64되었지만 수동으로 해당 값으로 설정하면 여전히 경고가 발생했습니다. 그 의미가 무엇인지 확실하지 않지만 아직 테스트에서 문제를 발견하지 못했습니다.


대상 또는 프로젝트에 대해 VALID_ARCHS ( "유효한 아키텍처") 빌드 설정이 재정의되었을 수 있습니다. 빌드하려는 실행 대상에 따라 자동으로 값을 가져와야하는 빌드 설정입니다. 이 재정의의 출처를 파악하면 (재정의시 빌드 설정이 굵게 표시됨)이를 선택하고 삭제 키를 눌러 기본값으로 복원합니다.


다른 답변과 마찬가지로 $(VALID_ARCHS)(Valid Architectures)를 으로 변경하여 경고를 제거 할 수있었습니다 $(ARCHS_STANDARD). 거기에서 모든 파생 데이터를 지우고 Xcode 10.0을 다시 시작했습니다. 이로 인해 경고가 완전히 사라졌습니다. 유효한 아키텍처에서 모든 것을 삭제하면 다른 경고가 나타납니다 ( "유효한 아키텍처를 찾을 수 없음").


경고를보고하는 TARGET의 경우 "Valid Architecture"설정을 다음으로 변경하십시오.

$(VALID_ARCHS)
x86_64

여기에 이미지 설명 입력


iOS 및 Mac OS 용 코드를 컴파일하려고 할 때이 경고가 표시되었습니다. 나는 Hassan Taleb이 그의 대답에서 제안한 것을 먼저 수행하여 문제를 해결할 수있었습니다. 유효한 iPhone 아키텍처 만 거기에 있도록 아키텍처를 정리했습니다. 그리고 마지막으로 Mac OS 용으로 빌드 할 수 있도록하려면 마우스를 유효한 아키텍처 위로 가져가 더하기 버튼이 표시되도록합니다. 그것을 클릭하면 다른 CPU 아키텍처를 포함하여 필요에 따라 다른 플랫폼에 대한 별도의 설정을 추가 할 수 있습니다. macOS SDK의 경우 원하는 경우 유효한 아키텍처를 x86_64로 설정할 수 있습니다.macOS SDK의 경우 원하는 경우 유효한 아키텍처를 x86_64로 설정할 수 있습니다.


솔루션은 더 간단합니다. 유효한 아키텍처에서 arm64를 x86_64로 바꾸면됩니다 .

내 프로젝트에서 비슷한 문제와 다음 세 가지 경고가있었습니다. 내 프로젝트에서 비슷한 문제와 다음 경고가 발생했습니다.

유효한 아키텍처는 원래내 ** 유효한 아키텍처 **는 원래

교체 :

  • i386이있는 armv7,
  • i386이있는 armv7s,
  • 그리고 x86_64가있는 arm64

(경고에서 언급했듯이) 내 해결책이었습니다. 유효한 아키텍처 설정 의 결과 는 다음과 같습니다.

경고에 언급 된대로 armv7을 i386으로, armv7s를 i386으로, arm64를 x86_64로 대체하는 것이 내 해결책이었습니다.

교체 후 위의 세 가지 경고가 사라졌습니다.

아키텍처에 대한 자세한 정보는 https://docs.elementscompiler.com/Platforms/Cocoa/CpuArchitectures/ 에서 찾을 수 있습니다.

Xcode에서이 경고의 공식화가 약간 혼란 스럽다고 생각합니다.

도움이 되었기를 바랍니다


[빌드 설정]이 armv7 armv7s arm64이면 armv7s를 삭제하십시오. 경고가 취소됩니다.

참고 URL : https://stackoverflow.com/questions/50768723/what-does-warning-mapping-architecture-arm64-to-x86-64-mean

반응형