2013-06-17 3 views
1

iOS 시뮬레이터 용 특정 라이브러리를 빌드 할 때 일련의 링커 오류가 발생합니다. 이 문제의 원인은 iOS 시뮬레이터 용으로 컴파일 할 때 문제가되는 라이브러리가 빌드 된 아키텍처 인 것 같습니다. 특정 라이브러리는 Aurasma 증강 현실 라이브러리입니다.iOS 시뮬레이터 용 라이브러리를 빌드 할 때 Xcode 컴파일러가 라이브러리를 무시하도록하는 방법

제 질문은 iOS 시뮬레이터 용으로 코드를 컴파일 할 때 라이브러리를 컴파일하지 않는 방법일까요? 라이브러리에 의존하는 코드가 있지만 iOS 시뮬레이터가 아닌 경우 #ifdef 문을 사용하면 해당 코드 만 사용할 수 있습니다.

나는이 문제점의 완전한 뿌리를 이해하지 못할 수도 있음을 쉽게 인정할 수 있습니다. 특정 진행이나 성공없이 -weak_library 링커 플래그를 사용하여 몇 가지 솔루션을 시도했습니다.

+0

덧붙여이 시뮬레이터 문제는 다음 Aurasma 릴리스에서 수정되어야합니다. – OrangeDog

답변

2

XCode에서 각 iOS/시뮬레이터 sdk에 대해 별도의 라이브러리 목록을 구성 할 수 있습니다. 다음 단계는이를 구성 할 수 있습니다 :

  • 을 클릭하여 peoject-> Target-> 빌드 설정 -> Linking-> 기타 링커 플래그
  • 클릭 "+"에서의 기타에서 빌드 구성 (예 : 디버그)에 대한 링커 플래그.
  • 빌드 구성의 새 항목에 대해 "모든 iOS 시뮬레이터 SDK"를 선택하고 연결하지 않으려는 라이브러리를 제거하십시오.
  • 빌드 구성에서 "+"버튼을 클릭하여 원하는만큼 항목을 추가하고 특정 SDK에 대해 원하는 라이브러리를 구성 할 수 있습니다.

동일한 기술을 대상에 대한 XCode의 다른 설정에 적용 할 수 있습니다.