다른 Xcode 프로젝트의 다른 정적 라이브러리에 대한 링크를 포함하는 "마스터"정적 라이브러리 대상이있는 Xcode 프로젝트가 있습니다.다른 정적 라이브러리를 포함하는 armv6 및 armv7 용 iPhone 정적 라이브러리 만들기
"Optimized (armv6 armv7)"에 대한 마스터 라이브러리 대상을 빌드 할 때 CreateUniversalBinary 단계 중 마지막 단계에서 오류가 발생합니다. 마스터 라이브러리가 포함되어있는 라이브러리의 각 .o 인 파일에 대해 다음과 같은 오류가보고됩니다 (예는 FBConnectGlobal.o 파일) : 결국
warning for architecture: armv6 same member name (FBConnectGlobal.o)
in output file used for input files: /Developer_Beta/Builds/MTToolbox/MTToolbox.build/Debug-iphoneos/MTToolbox.build/Objects-normal/armv6/libMTToolbox.a(FBConnectGlobal.o)
and: /Developer_Beta/Builds/MTToolbox/MTToolbox.build/Debug-iphoneos/MTToolbox.build/Objects-normal/armv7/libMTToolbox.a(FBConnectGlobal.o)
due to use of basename, truncation and blank padding
, 엑스 코드 빌드가 성공했음을 알려줍니다 . 그러나 응용 프로그램 프로젝트에서 최종 정적 라이브러리를 사용하면 build (armv6)의 한 부분에서 중복 된 심볼을 찾고 빌드의 다른 부분 (armv7)에서 심볼을 누락하기 때문에 빌드되지 않습니다.
이 문제를 해결하는 방법에 대한 아이디어가 있으십니까?
M은
다른 라이브러리에 라이브러리를 빌드하지 마십시오. 혼동을 야기하거나 중복 된 심볼 오류가 발생하고 디버깅하기 어렵습니다 . 이 질문을 확인하십시오 : http://stackoverflow.com/questions/2300867/how-can-i-avoid-duplicate-symbol-errors-in-xcode-with-shared-static-libraries/2300873#2300873 –
Carl, thanks . 아마 당신은 코멘트 대신 내 질문에 대한 답변으로 게시 할 수 있으므로 답변으로 표시 할 수 있습니다. –