2010-01-21 4 views
2

여기에 내가 가진 상황이 있습니다 :
ProjectA - Xcode 정적 라이브러리 프로젝트.
ProjectA에는 파일 ExternLib.h가있는 논리 코드 그룹 ExternLib가 들어 있습니다. ExternLib.h 자체는 Classes/lib/ExternLib 폴더에 있습니다 (ProjectA 폴더 기준). ProjectA에서 ExternLib.h를 #import "ExternLib.h"와 같이 사용합니다. 이것은 잘 작동합니다.Xcode 연결된 프로젝트 헤더 파일을 찾을 수 없습니다.

다음으로 ProjectB 있습니다. 여기에는 ProjectA가 링크 된 Xcode 프로젝트로 포함됩니다. 대상이 올바르게 추가되었습니다. 그러나 ProjectB를 빌드 할 때 ExternLib.h를 포함하는 ProjectB에 파일을 포함 시키면 ExternLib.h 파일을 찾을 수 없다는 오류가 발생합니다.

ExternLib.h의 경로를 헤더 검색 경로 (모든 유형 : 상대 경로, 절대 경로, 재귀 경로 등)에 추가하려했지만 아무 소용이 없었습니다. 정적 라이브러리 대상에 복사 헤더 단계가 있고 파일 ExternLib.h가 포함되어 있는지 확인했습니다.

아무도이 문제를 해결하는 방법에 대해 설명 할 수 있습니까?

답변

0

무엇이 잘못되었을지를 말하기 란 정말 어렵습니다.

정적 라이브러리를 작성하고 사용하는 방법에 대한 자습서를 처음부터 살펴보고, 어떤 단계를 거쳐 아이디어가 나왔는지 확인할 수 있습니다.

1
  1. 복사 파일이 단계 복사하는 ExternLib 헤더 파일 ${BUILT_PRODUCTS_DIR}ExternLibHeaders에 구축 추가 스크립트 실행이

    mkdir -p "${BUILT_PRODUCTS_DIR}ExternLibHeaders" 
    
  2. 을 실행 ExternLib에 대한 목표에 단계를 빌드 추가하고 ExternLib 년대 모두 추가 헤더를 그 단계에 넣습니다.

  3. ProjectB의 앱 대상에서 모든 구성의 헤더 검색 경로에 ${BUILT_PRODUCTS_DIR}/ExternLibHeaders/을 추가하십시오.

  4. Xcode> 환경 설정> 빌드에서 빌드 제품 디렉토리를 일반적인 위치로 설정하십시오.

네 번째 단계는 매우 중요합니다. 두 프로젝트 모두에서 BUILT_PRODUCTS_DIR이 동일하게 유지됩니다.

+0

도움이되었습니다. 그러나 그것은 내 머리글 경로가 제대로 읽히지 않는 것으로 판명되었습니다 (이유는 알 수 없습니다). 모든 프로젝트 변경 내용을 되 돌린 다음 구성의 헤더 경로에 추가하는 작업이 끝났습니다. 모든 것이 잘 작동했습니다. 시간 내 주셔서 감사합니다. 나렌 – Naren

관련 문제