2015-01-11 10 views
0

내 프레임 워크 A를 다른 비표준 프레임 워크 B와 연결하려고합니다. 다른 사람들을 개발했습니다. "Binary with Libraries"빌드 설정 A에 B를 추가합니다. 이렇게하면 컴파일러에서 B의 헤더 파일을 찾을 수 있습니다. 그러나 여전히 "정의되지 않은 기호"라는 링커 오류가 발생합니다. .Xcode의 프레임 워크와 연결할 때마다 정의되지 않은 기호

B를 A에 연결하기 위해 B의 Xcode 프로젝트를 열고 "Products"필터를 검사 한 다음 'B.framework'경로를 따라 A 폴더로 복사했습니다. 뭐가 잘못 되었나요? 무엇이 문제 일 수 있습니까?

A와 B의 대상 아키텍처 차이점이 없다고 확신합니다. 그들은 같은 플랫폼을 목표로 삼고 있습니다.

+0

"Binary with Libraries"빌드 설정 A에 B를 추가합니다. 컴파일러가 B의 헤더 파일을 찾을 수있게합니다. "A"에 포함됩니다. 헤더 파일은 헤더 검색 경로 , 링크 이진 단계를 통해 _ 없음. 컴파일 할 수 있다는 사실은 프레임 워크가 제대로 링크되어 있음을 증명하지는 않습니다. 그리고 분명히 그렇지 않습니다. – matt

+0

@matt 헤더를 찾는 것이 링크가 잘되어야한다는 것을 말하는 것은 아닙니다! 내가 말하고자하는 것은 그것이 B가 A의 솔루션에 성공적으로 통합되었음을 나타냅니다. – sramij

답변

0

다음과 같이 내 자신의 문제를 해결했습니다. 정의되지 않은 기호는 A.에 의해 사용되는 동안 B.framework에서 내보내지지 않습니다. B.framework와 함께 제공되는 .exp (내보내기 테이블) 파일을 수정하여이 문제를 해결할 수있었습니다. 기호 A가 필요합니다. 그 다음에는 실행에 문제가 없도록하기 위해 B.framework가 대상 장치에도 복사되는지 확인해야했습니다. 그래서 A는 실행 중에 찾을 수 있습니다.