[ios] 파일은 보편적이지만 (세 개의 슬라이스) iOS의 정적 라이브러리에 대한 (n) ARMv7-s 슬라이스 오류가 포함되어 있지 않습니다.

Xcode 버전을 업그레이드 했으며 외부 정적 라이브러리를 사용할 때 다음 메시지가 나타납니다.

ld : 파일이 범용 (3 슬라이스)이지만 a (n) armv7s 슬라이스를 포함하지 않음 : 아키텍처 armv7s clang : / file / location 종료 코드 1에서 링커 명령이 실패했습니다 (호출을 보려면 -v 사용).

라이브러리 개발자가 라이브러리를 아직 업데이트하지 않은 경우이를 무시하고 라이브러리에 지원을 추가 할 수있는 방법이 있습니까?



답변

예를 들어 ARMv7-s 와 같은 아키텍처에 대한 지원을 제거하려면 프로젝트 -> 빌드 설정 -> “유효한 아키텍처”에서 아키텍처를 제거하십시오.

라이브러리가 업데이트 될 때까지이를 임시 솔루션으로 사용할 수 있습니다. 라이브러리가 아닌 기본 프로젝트에서 아키텍처를 제거해야합니다.

또는 디버그 구성의 “빌드 아키텍처 만”플래그를 예로 설정할 수 있습니다. 릴리스 구성의 “빌드 아키텍처 만”을 아니오로 두십시오. 사용중인 타사 라이브러리를 업그레이드해야한다는 사실을 알리기 전에 미리 알림을 받게됩니다.


답변

대상의 빌드 설정에서 “Build Active Architecture Only”를 “Yes”로 간단히 전환했습니다. 이제 괜찮습니다!


답변

프로젝트의 “유효한 아키텍처”에서 armv7을 제거하여 iOS 5.1 전화의 경우이 문제에서 해제하십시오.


답변

난 그냥 수정 게시 여기 이 경우에 적용됩니다 – 기본적으로, 당신이 그 그것의 ARMv7s 코드를 생각 헥스 수 있도록 외부 도서관에서 찾기 및 바꾸기 않습니다. 당신은 사용할 수 있어야 lipo는 ARMv7 하나를 / 중복, 3 정적 라이브러리로 휴식을 수정 한 후 사용lipo 다시 하여 4 개의 아키텍처 모두에 대해 새 라이브러리를 어셈블 할 수 있어야합니다.


답변

iPhone 5 (ARMv7s)에 대한 Flurry 지원 어제 포스트에서 언급했듯이 Flurry는 수요일 발표 직후 새로운 iPhone 5에서 ARMv7s 프로세서를 지원하기 위해 iOS SDK 버전 작업을 시작했습니다.

작업이 완료되었으며 이제 사이트에서 SDK를 사용할 수 있음을 알려드립니다.


답변

메뉴 사용 프로젝트-> 빌드 설정->

그런 다음 “유효한 아키텍처”에서 armv7을 제거하십시오. 표준을 선택한 경우 해당 표준을 삭제 한 다음 armv7을 추가하십시오.


답변

누군가에게 이런 일이 발생하는 경우. 타사 코드와 함께 사용할 자체 라이브러리를 만들었습니다. 내가 그것을 제공하기 위해 구축하는 동안 실수로 iPhone 4S를 꽂은 상태로 두었으므로 Xcode는 프로젝트 설정을 따르는 대신 연결된 아키텍처에 대해서만 내 라이브러리를 만들었습니다. 연결된 장치를 모두 제거하고 라이브러리를 다시 빌드 한 후 연결하면 괜찮습니다.

도움이 되길 바랍니다.