문제

나는 사용했다 클린트 해리스의 튜토리얼 프로젝트간에 코드 공유를 설정하고 모든 것이 내 컴퓨터에서 예상대로 작동합니다. 그러나 동료의 컴퓨터에서 컴파일러는 제작 할 때 정적 라이브러리 프로젝트에서 헤더 파일을 찾지 못하는 것 같습니다.

내 동료는 GIT 저장소를 복제하여 프로젝트를 받았습니다. 우리는 모든 관련 빌드 플래그와 Xcode 설정을 n 번 살펴 보았지만 프로젝트는 단순히 그의 컴퓨터에서 컴파일을 거부합니다.

이것이 제가 동료에게 요청한 것입니다. 주로 튜토리얼에서 복사하고 붙여 넣은 것입니다.

  1. 프로젝트 디렉토리의 완전한 경로에 빈 공간이 없는지 확인하십시오.
  2. 프로젝트 디렉토리 내에서 "build_output"이라는 다른 폴더를 만듭니다.
  3. Xcode에서 "xcode> preferences"아래에서 "빌딩"탭을 선택하고 "Customized Location"으로 "Place 빌드 프로젝트"를 설정하고 생성 한 공통 빌드 디렉토리의 경로를 지정하십시오.
  4. “중간 빌드 파일을 배치”로“빌드 제품을 사용”로 설정하십시오.
  5. "소스 트리"탭을 선택하고 "+"버튼을 클릭하고 열을 채우면 새 소스 트리 변수를 만듭니다. "설정 이름"과 "디스플레이 이름"모두에서 [정적 라이브러리를 만든 공유 프로젝트의 이름]을 넣으십시오. 경로에서는 프레임 워크 폴더의 전체 경로를 놓습니다.

이 단계에 따라 정적 라이브러리를 사용하는 프로젝트는 내 컴퓨터에서 동일하게 컴파일해야합니다. 그러나 그렇지 않습니다. 기본적으로 그가 얻는 오류는 다음과 같습니다.

error: TheFrameworkHeader.h: No such file or directory

그런 다음 누락 된 헤더로 인한 다른 오류가 있습니다.

문제를 해결하기위한 전략이 있습니까? 아니면 비슷한 경험을 가지고 있고 어려운 지식을 공유 할 수있는 사람이 있습니까? 내가 요약 한 지침에서 누락 된 것이 있습니까? 정적 라이브러리를 컴파일 할 때 카피 헤더 빌드 단계에서 헤더의 역할을 설정해야합니까?

도움이 되었습니까?

해결책

유용한 조언에도 불구하고, 나는 이것을 알아 차리지 못했지만 여기에 비슷한 상황에 처한 사람을위한 작은 정보가 있습니다. 원래 프로젝트를 2로 나누어서 라이브러리 및 의존 프로젝트를 만들었습니다. 처음에는 라이브러리와 응용 프로그램이 동일한 프로젝트 내에서 두 개의 목표에 불과했습니다. 나중에 앱을 별도의 프로젝트로 옮겼습니다. 모든 것이 효과가있는 것처럼 보였고 두 프로젝트를 원격 git 리포지토리로 밀었습니다. 그러나 이것들이 다른 컴퓨터에서 복제되면 라이브러리 헤더는 찾을 수 없었습니다.

나중에, 나는 원래 컴퓨터의 프로젝트를 복제 할 때 동일한 오류가 발생했음을 발견했습니다. 많은 투쟁 후, 나는 그것을 하나의 무서운 세부 사항으로 고정시켰다. 종속 프로젝트 폴더의 이름! (즉, 라이브러리가 아닌 응용 프로그램이있는 프로젝트.) .xcodeproject 패키지의 이름이 아니라 응용 프로그램 식별자가 아니라 폴더를 포함합니다. 내가 바꾸 자마자 모든 것이 작동합니다. 원래 이름 (모든 컴퓨터)으로 다시 변경하면 헤더가 다시 찾을 수 없습니다.

누구든지 이것에 대한 통찰력이 있다면 답변을 게시하십시오!

편집 :이 글을 게시 한 이후로 다른 프로젝트에서 동일한 문제가 발생했으며, 단지 .xcodeproject 폴더가 포함 된 폴더를 바꾸면 문제가 해결되었습니다.

다른 팁

나는 그것이 git이라고 생각하지 않습니다. Xcode라고 생각합니다. 여기서 Xcode / XcodeBuild는 정확히 동일한 라이브러리 프로젝트 및 XCConfig 파일 (SVN Repo의 CLEN Checkout)과 함께 거짓 (간단하게)을 포함하는 경로를 포함하는 경로를 포함하는 매우 유사한 문제를 얻었지만 다른 폴더가 포함되어 있습니다. 따라서 솔루션에 대한 고맙습니다. 더 이상 git을 비난하지 마십시오 ;-)

나는 종종 이것을 확인하는 것을 잊어 버린다 : 누락 된 파일 (예 : theframeworkheader.h "가 git 저장소에 있다고 확신합니까? 빌드 설정이 정확하지만 파일이 어떻게 든 Git에 올바르게 추가되지 않았을 수도 있습니다.

특정 기계를 구축하는 데 어려움이있는 경우 문제는 기계 나 사용자 설정 일 수 있습니다. 예를 들어 환경 변수 (아마도 _path 포함 또는 친척 중 하나 -xcode는 GCC를 사용합니다). "."가있을 수 있습니다. 이러한 변수 중 하나에서.

이 문제를 해결하는 가장 좋은 방법은 필요한 폴더 경로를 빌드 스크립트의 -i 스위치에 추가하는 것입니다.

"검색 경로-> 사용자 헤더 검색 경로"빌드 설정 (모든 구성의 경우)이 공유 Xcode 프로젝트가 포함 된 디렉토리를 가리 키십시오 (생성 된 새 소스 트리 변수를 사용할 수 있음).

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top