2012-10-05 5 views
0

내 응용 프로그램을 실행하는 데 문제가 있습니다.iOS6 : xcode 4.5에 중복 기호 오류가 발생했습니다.

중복 된 기호로 인해 빌드가 실패했습니다.

enter image description here

내 응용 프로그램에 magtek idynamo SDK를 포함하고있다. 내 이전 응용 프로그램 버전에서 일반적으로 libMTSCRA.a 라이브러리 및 MTSCRA.h 내 프로젝트에 추가 할. 내 연구를 기반으로 사람들은 .h 및 또한 ios5 버전의 내 앱에서 작동하도록 관리 한 .a를 참조하기 때문에 문제가 발생했다고 제안했습니다. 그것의 초조 한 .. 나는이 벽에 내 머리를 두드리는 소리를 내었다.

아이디어가 있으십니까?

UPDATE 여기 enter image description here 내 프레임 워크와 라이브러리의 스크린 샷이다. libMTSCRA.a는 한 번만 나열됩니다.

감사합니다.

+0

지금까지는 괜찮은 것 같습니다. 그래서 이전 컴파일러와 iOS 버전에서 작동 했습니까? –

+0

완전한 "기타 링커 플래그"설정은 대상과 어떤 차이가 있습니까? '-lMTSCRA'가 포함되어 있으면 링커는 라이브러리를 두 번 링크합니다. – Mecki

+0

-weak_framework UIKit -weak_framework AVFoundation -weak_framework CoreMedia -weak-ISystem – jongbanaag

답변

0

이 오류는 헤더 파일과 관련이 없습니다. 대신, 나열된 함수 본문 (일반적으로 .m이지만 정적 라이브러리에 빌드 한 경우 정적 라이브러리의 일부)이 두 번 포함됩니다.

대부분의 경우 정적 라이브러리를 두 번 포함합니다. 그 중 하나가 간접적 일 수 있습니다. 정적 라이브러리를 포함하는 다른 정적 라이브러리를 포함하게됩니다.

+0

너무 바보 같아서 미안하지만 다시해야합니까? 나는 객관적으로 비교적 새로운 c 다. 내 응용 프로그램은 phonegap을 기반으로하므로 대부분의 시간 동안 객관적인 xcode로 실제로 뛰어 들지 않습니다. – jongbanaag

+0

왼쪽 패널에서 프로젝트를 선택하고 중간 패널에서 대상을 선택하고 '링크 된 프레임 워크 및 라이브러리'를보십시오. libMTSCRA.a가 두 x 나열되지 않았는지 확인하십시오. 그곳에 만있는 경우 한 번 제거하고 프로젝트가 빌드되는지 확인하십시오. –

+0

나는 질문을 업데이 트했습니다. 게시 된 내 프레임 워크 및 라이브러리의 스크린 샷입니다. libMTSCRA.a는 한 번만 나열됩니다. – jongbanaag

4

나도이 문제가 있고, 많은 시간 후, 나는 2 개 개의 도서관이 때문에 플래그 => "-all_load"

을 다른 링커 플래그를 제거하여 해결할 수 있습니다 (iphoneos 및 iphonesimulator)은 MagTek의 동시에 포함되었다.

+2

'-all_load'가 필요한 Cordova/Phonegap을 사용하고 있지만이 답변은 저에게 도움이되었습니다. 대신 libCordova.a에서'-force_load' 링커 플래그를 사용했고'-all_load'를 제거 할 수있었습니다. 감사합니다! –

관련 문제