2009-07-07 6 views
7

OpenCV 라이브러리를 많이 사용하는 iPhone 앱이 있습니다. 그래서, 나는 내 애플 리케이션에 포함시키기 위해이 라이브러리의 정적 버전을 컴파일했다. 이렇게하기위한 지침은 비교적 간단합니다 : Using OpenCV on iPhone. 내가 맞닥뜨린 유일한 장애는 링커 플래그 STANDARD_C_PLUS_PLUS_LIBRARY_TYPE을 "standard"으로 설정하는 것이 었습니다. 이 응용 프로그램은 OS 2.0 및 2.2에서 완벽하게 컴파일되고 실행되었습니다.iPhone SDK 3.0의 정적 라이브러리 연결

SDK 3.0으로 업그레이드하고 내 응용 프로그램을 다시 컴파일하려고하면이 링커 플래그와 관련된 문제가 발생합니다.

LD : 연결하는 동안이 오류를 받고 있어요 라이브러리 ++ -lstdc 찾을 수 없습니다 - 정적 내 시스템에 "된 libstdc + +를 - 정적"고 또한 흥미로운

보이는 모든 iPhoneOS 및 iPhoneSimulator 아래에 존재 iPhoneOS.platform/SDKs/iPhoneOS3.0.sk를 제외한 SDK. 검색 결과는 다음과 같습니다.

$ locate libstdc++-static 
/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS2.0.sdk/usr/lib/libstdc++-static.a 
/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS2.1.sdk/usr/lib/libstdc++-static.a 
/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS2.2.1.sdk/usr/lib/libstdc++-static.a 
/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS2.2.sdk/usr/lib/libstdc++-static.a 
/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator2.0.sdk/usr/lib/libstdc++-static.a 
/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator2.1.sdk/usr/lib/libstdc++-static.a 
/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator2.2.1.sdk/usr/lib/libstdc++-static.a 
/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator2.2.sdk/usr/lib/libstdc++-static.a 
/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator3.0.sdk/usr/lib/libstdc++-static.a 
/Developer/SDKs/MacOSX10.4u.sdk/usr/lib/libstdc++-static.a 
/Developer/SDKs/MacOSX10.5.sdk/usr/lib/libstdc++-static.a 
/usr/lib/libstdc++-static.a 

저는 매우 당혹스럽고 Google 또는 iPhone 개발자 포럼에서 답변을 찾을 수 없었습니다. 누군가가 여기에 약간의 빛을 비출 수 있다면 정말 고마워.

감사합니다.

+0

libstdC++의 버전은 OS 3.x에 있습니까? –

답변

1

추측 - 빌드 속성의 '라이브러리 검색 경로'옵션에 디렉토리 중 하나를 추가해보십시오.

+0

이것이 효과가 있습니다! 감사! 이전 SDK에서 파일을 복사하려고 시도했지만 작동하지 않습니다. (해당 디렉토리를 다시 스캔하기 위해'ldconfig'와 동일한 작업을 수행해야하는지 잘 모르겠지만 대신 재부팅하려고했습니다.) – pix0r

+0

위대한! 나는 LD_LIBRARY_PATH에 대해 생각하기 시작했다. 아마 LD_LIBRARY_PATH가 속성에 있다고 생각했다. – John

0

그건 정말 수수께끼 같아요. 내가 생각할 수있는 유일한 점은 /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator3.0.sdk이 라이브러리 검색 경로에 없지만 매우 드뭅니다.

+0

시뮬레이터가 아닌 iPhoneOS 용으로 컴파일하려고했습니다. 둘 다 작동해야합니다. – pix0r

+0

당신은 맞습니다. 그것은 저를 지나치는 것입니다. 그 다음 아이폰을위한 도서관은 어디에 있습니까? 그것은 귀하의 목록에 나타나지 않습니다 .... – hhafez

+0

맞아, 그게 문제 였어.) 애플이 SDK 3.0에서 그걸 버린 것 같아. 아마도 실수 일 뿐이야. 라이브러리의 2.2 버전은 3.0에서 잘 작동합니다. – pix0r

관련 문제