동일한 응용 프로그램에서 FMOD와 HTTPriot를 사용하려고합니다. FMOD는 HTTPriot에 대한 링커 플래그를 추가 할 때까지 제대로 작동합니다.이 시점에서 FMOD가 정의되지 않은 기호에 대해 불평하는 오류를 연결하는 링크가 나타납니다. 즉, HTTPriot에 링커 플래그를 추가하면 FMOD의 라이브러리로드가 중단되는 것 같습니다. 한 라이브러리의 링커 플래그가 다른 라이브러리의 로딩을 중단합니다.
이
모두가 내 빌드의 연결 단계에서오고, 내가지고있어 오류의 종류입니다Undefined symbols:
"_FMOD_Sound_Lock", referenced from:
-[FMODEngine recordedSoundAsNSData] in FMODEngine.o
-[FMODEngine writeRecordingToDiskWithName:] in FMODEngine.o
"_FMOD_MusicSystem_PrepareCue", referenced from:
-[FMODEngine addCue:] in FMODEngine.o
이 링커 플래그 HTTPriot위한 것입니다 : -lhttpriot -lxml2 -ObjC http://labratrevenge.com/httpriot/docs/iphone-setup.html
내가의 기대했다 :
-all_load
는 여기 지침에 따라 HTTPriot의 SDK에 그뿐만 아니라 경로를 추가 omeone은 하나의 라이브러리에 링커 플래그를 추가하면 다른 라이브러리에로드가 실패 할 수있는 이유를 설명 할 수 있습니다. 이 플래그가 없다면, HTTPriot와 FMOD 모두 시뮬레이터에서 제대로 작동하지만, HTTPriot는 런타임 오류가 있습니다. 라이브러리가 링크되어 있지 않기 때문에 가정합니다. FMOD는 장치에서 잘 작동합니다.FMOD를 찾기 위해 Xcode에서 빌드 설정에 헤더 검색 경로와 라이브러리 검색 경로를 배치했습니다. 이 HTTPriot 링커 플래그를 추가하기 전까지는 괜찮은 것 같습니다. 나는 또한 FMOD 라이브러리 (-lfmodex)에 링커 플래그를 추가하려고 시도했지만, 필자가 사용하지 않을 때와 같은 오류가 발생한다.
이 문제를 해결에-asposed - 돌대가리 실수였다. – trevrosen