iOS 및 OS X에 5 개의 아키텍처 (x86_64, i386, armv7, armv7s, arm64)의 정적 라이브러리가 있습니다.fat 바이너리와 64 비트 시뮬레이터 타겟을 연결할 때 오류가 발생했습니다.
- x86_64의 아키텍처는
- 의 i386 아키텍처는
- 는 ARM 아키텍처 내가 연결하려고하면 iphoneos의 SDK
를 사용하여 구축 된 iphonesimulator의 SDK를 사용하여 구축 된에서라도 SDK를 사용하여 구축되었다 예제 App의 결과 라이브러리는 장치 또는 32 비트 IOS 시뮬레이터 대상을 빌드 할 때 작동합니다. 하지만 내가 링커 오류가 64 비트의 iOS 시뮬레이터 타겟을 빌드 할 때 : 나는 모든 장치와 시뮬레이터 작동 지방 라이브러리에서 x86_64에 슬라이스를 제거하면
ld: framework not found CoreServices for architecture x86_64
.
필자는 64 비트 시뮬레이터 용으로 링커가 x86_64 아키텍처를 선호하기 때문에 그것을 사용한다고 가정합니다. 그러나 그것은 macosx SDK 용으로 컴파일되고 링크 되었기 때문에 어떻게 든 인코딩 된 OS X 의존성을 가지고 있습니다.
iphonesimulator SDK의 두 번째 x68_64 슬라이스를 추가하려고했지만 lipo가 허용하지 않습니다. 또한 시뮬레이터가 64 비트 빌드에서도 i386 아키텍처를 사용하도록 만드는 방법을 찾으려고했지만, 지금까지는 아무런 운이 없었습니다.
절대적으로 필요한 경우이 문제를 해결할 수있는 2 개의 바이너리를 만들 수 있지만 실제로는 하나의 파일로 만드는 것이 더 좋습니다. 이것을 달성 할 수있는 방법이 있습니까?
osx 및 ios 시뮬레이터 아키텍처가 구별 할 수 없기 때문에 2 개의 바이너리가 필요하다고 생각합니다. –