본문 바로가기

분노=프로그래밍/iOS

duplicate symbols for architecture i386

ErrorMsg : duplicate symbols for architecture i386


사실 i386, armv6, armv7는 중요하지 않다.(적어도 내 경우는 그랬음.)

i386 - 시뮬레이터용

armv6 - 아이팟(apple 구 기기들)

armv7 - 아이폰 3gs부터 해당했던가. 자세한 건 구글링

의 의미인데, 어디서 나든 에러는 에러 아닌가 -_-;


컴파일 옵션은

Other Linker Flags에 -ObjC -all_load -lxml2 였으며

첨부 라이브러리는 Facebook 3.0 SDK를 사용하고 있엇다.


수많은 에러메시지를 요약하자면 duplicate sumbol _OBJC_CLASS_$_ 메시지에

SBJSON, SBJsonBase, SBJsonParser, SBJsonWriter 등의 파일이 에러메시지에 함께 출력.



추측해보자면

-all_load 옵션을 주기 전까진 빌드가 잘 됬는데, 저 빌드 옵션을 주면서 중첩된 파일이 겹쳐서 오류가 난다고 이해했음.

(정확히는 컴파일하여 heap 영역에 소스가 빌드되어 올라갈 때의 클래스명이 겹친다는 얘기겠지 -_-;)

---------요 부분 틀린게 있으면 태클 부탁드립니다 ^,^--------




facebook SDK를 수정할 순 없고, 첨부하는 다른 라이브러리를 빌드할 때 라이브러리 내에서 참조중인 JSON 관련 파일들을 통채로 삭제하고 빌드하여 해결했다.

'분노=프로그래밍 > iOS' 카테고리의 다른 글

ios 회전 시 뷰의 리사이즈 문제  (0) 2012.12.09