2013-10-04 6 views
0

타사 프레임 워크를 사용하는 정적 라이브러리를 작성하려고합니다. 그것은 성공적으로 구축되었습니다.타사 프레임 워크가있는 정적 라이브러리

그러나 문제는 정적 라이브러리를 모든 샘플 응용 프로그램에 포함 시키면 샘플 응용 프로그램에서도 정적 라이브러리에서 사용되는 해당 타사 라이브러리를 요구한다는 것입니다.

정적 응용 프로그램에서 이미 사용중인 경우 샘플 응용 프로그램이 해당 프레임 워크를 요청하는 이유는 무엇입니까?

+0

샘플 응용 프로그램에 프레임 워크의 헤더를 포함 시켰습니까? – borrrden

+0

예, 내 프레임 워크가 해당 타사를 내부적으로 사용하기 때문에 제 샘플 응용 프로그램에는 제 3 프레임 워크의 머리글이 아닌 자체 프레임 워크의 머리글을 추가했습니다. 제 샘플 응용 프로그램에 제 3 자 프레임 워크를 포함시키지 않으면 제 3 자 클래스에 대한 컴파일 오류가 발생합니다. 자세한 내용은 내 정적 라이브러리 프로젝트 및 샘플 응용 프로그램 프로젝트에서 -all_load 링커 플래그를 사용하고 있습니다. – chandvoid

답변

-1

컴파일하는 동안 lib (타사)의 "코드"를 사용하지 않고 .h 파일과 .a 파일 만 사용한 경우 라이브러리는 다른 정적 라이브러리의 실행 가능 코드에 종속되므로 요구되는.

의존성을 제거하는 유일한 방법은 정적 lib 코드로 종속 (제 3 자) 정적 lib의 소스를 컴파일하여 lib가 종속 lib의 실행 코드가 생성되도록 생성하는 것입니다.

+0

타사 라이브러리의 코드를 사용하고 있습니다. – chandvoid

+0

컴파일 중 다음 오류가 표시됩니다. 아키텍처 i386에 대한 정의되지 않은 기호 : 에서 참조 된 "_OBJC_CLASS _ $ _ ThirdPartyCalss", MyStaticLib (SomeClass.o)의 objc-class-ref – chandvoid

0

이것이 어떤 것이 될지 모르지만 .... BuildSettings -> Architectuers -> BuildActiveArchitecture에서만 NO를 설정하고 라이브러리를 생성합니다.