2012-06-21 4 views
1

MonoTouch 앱에서 두 개의 Objective-C 라이브러리 인 Facebook 라이브러리와 Millennial Media의 광고 라이브러리를 사용하고 싶습니다.MonoTouch - 2 개의 바인딩 프로젝트 간 충돌

ld: duplicate symbol _OBJC_CLASS_$_SBJsonParser in /var/folders/4s/lcvdj54x0g72nrsw9vzq6nm80000gn/T/tmp6024c613.tmp/libMMSDK_4.5.5.a(SBJsonParser.o) and /var/folders/4s/lcvdj54x0g72nrsw9vzq6nm80000gn/T/tmp6024c613.tmp/libFacebookSDK.a(SBJsonParser.o) for architecture i386 
collect2: ld returned 1 exit status 

나는 두 라이브러리가 SBJsonParser을 사용하고 그 문제의 가정

나는 (심지어 단지 시뮬레이터) 내 MonoTouch 응용 프로그램을 컴파일하려고

, 나는 오류가 발생합니다.

그런 다음 동일한 MonoTouch 바인딩 프로젝트에 넣으려고했으나 여전히 똑같은 오류가 발생했습니다.

내 바인딩은 the Xamarin binding projects on GitHub에서 왔습니다. 다음은 링커 플래그가 설정되는 이유입니다.

[assembly: LinkWith ("libMMSDK_4.5.5.a", LinkTarget.ArmV6 | LinkTarget.ArmV7 | LinkTarget.Simulator, Frameworks = "CoreGraphics QuartzCore MediaPlayer CoreLocation MobileCoreServices AudioToolbox AVFoundation SystemConfiguration UIKit", ForceLoad = true)] 

... 

[assembly: LinkWith ("libFacebookSDK.a", LinkTarget.Simulator | LinkTarget.ArmV6 | LinkTarget.ArmV7, ForceLoad = true, Frameworks = "CoreGraphics")] 

해결할 수있는 방법이 있습니까? MonoTouch 컴파일러 플래그를 추가 할 수 있습니까?

+0

여기에 몇 가지 단서가 있습니다 : http://stackoverflow.com/questions/6130568/issues-when-installing-th-json-framework-on-xcode4 MonoTouch 측면에서이를 수정할 수 있습니까? 아니면 여기서 Xcode 프로젝트를 다시 컴파일해야합니까? – jonathanpeppers

답변

1

그래, 해결 방법을 찾았습니다.

Millenial Media SDK에 MMSDK_Split_Libraries이라는 폴더가 있는데이 파일에는 libMMSDK_4.5.5_withoutJSON.a 파일이 있고, XCode 용 SBJsonParser 구현 파일이 있습니다. 이 라이브러리를 사용하면 적어도 앱이 컴파일됩니다. 아직 MM SDK를 통합하지 않았으므로 제대로 작동하는지 확인해야합니다.

다른 누군가가 문제를 해결할 수 있는지 궁금해합니다.

+0

MM SDK가 제대로 작동하는 것 같습니다. Facebook SDK의'SBJsonParser'를 사용해야합니다. 미친 것의 종류 그러나 그것은 기뻤다. – jonathanpeppers