2010-05-05 7 views
3

주제에 대한 정보 만 찾을 수 있습니다. 지금 내 이해가Objective-C에서 #import가 파일을 검색하는 방법

#import <my.h> // searches in the system paths 
#import "my.h" // searches in the same dir as the source file - is that right? 

다른 위치에 .h 파일이있는 정적 라이브러리가 있습니다. 컴파일러에서 VC에서와 같이 #import "my.h"로 .h 파일의 새 폴더를 검색하도록 할 수 있습니까?

답변

3

이해는 소스 파일, 모든 시스템 경로 (#import <my.h>로 검색 같은 것들)과 같은 디렉토리에 그 #import "my.h" 검색 제외하고는 거의 정확합니다.

다른 위치에 .h 파일이있는 정적 라이브러리가 있습니다. 컴파일러에서 VC와 같이 #import "my.h"로 .h 파일을위한 새 폴더를 검색하도록 할 수 있습니까?

예. gcc에 -I 플래그를 전달해야합니다. 예를 들어 path/to/my-other-dir을 검색하려면 -Ipath/to/my-other-dir을 gcc에 전달합니다. Xcode를 사용하는 경우 대상에 대한 빌드 옵션을 사용하여 구성 할 수 있습니다. 헤더 검색 경로아래에서 검색 경로을 찾습니다. 또한 관련성

1

Objective-C에서 #import은 각 파일을 한 번만 포함합니다. 따라서 파일 검색시 #include 규칙을 따릅니다.

<…>은 시스템 헤더와 "…" 사용자 헤더를 나타냅니다. 선처리가 어떤 경로를 볼 것인지는 설정에 따라 다릅니다. GCC의 경우, <…>이있는 모양 다음 -I-F 스위치에 의해 추가

/usr/local/include 
<libdir/gcc/target/version>/include 
/usr/<target>/include 
/usr/include 

또한 경로를. "…"은 현재 디렉토리에서 찾은 다음 -iquote 스위치로 추가 한 다음 시스템 경로를 찾습니다.

자세한 내용은 http://gcc.gnu.org/onlinedocs/cpp/Search-Path.html을 참조하십시오.

관련 문제