grp.h
은 몇 가지 기본 데이터 구조를 정의하는 표준 Unix 수준 파일 중 하나입니다. 이 경우 struct group
은 사용자 권한을 처리하는 저수준 C 함수에 의해 반환됩니다.
프로젝트에 포함 된 이유에 대한 질문입니다. Xcode에서 새 프로젝트를 만들면 프로젝트의 .m
또는 .c
파일에 암시 적으로 포함되는 포함 파일이 만들어집니다. 방금 만든 프로젝트에서 Supporting Files
이라는 그룹의 파일 브라우저에 있는데, 이름은 [project]-Prefix.pch
입니다. 광산은 다음과 같은 내용이 있습니다
#import <Availability.h>
#ifndef __IPHONE_5_0
#warning "This project uses features only available in iOS SDK 5.0 and later."
#endif
#ifdef __OBJC__
#import <UIKit/UIKit.h>
#import <Foundation/Foundation.h>
#endif
마지막 줄 #import <Foundation/Foundation.h>
두 번째 그건 다음이 포함되어 모든 내장 NSObject
, NSArray
같은 목표 - C 개체 - 및 파일 시스템 작업 사물의 무리, 따라서 권한 및 그룹 구성원을 처리 할 수 있어야합니다. 그 중 하나가 grp.h
을 포함합니다.
질문에 다시 회신하십시오. .pch
파일을 변경하여 Foundation/Foundation.h
을 포함하지 않도록 변경 한 다음 필요할 때 수동으로 포함시킬 수 있습니다.
하지만 결국 모든 빌드가 느려질 것입니다. 여기에 파일 .pch
은 특별합니다. Xcode는이 파일을 한 번 컴파일하고 바이너리 형식으로 저장하므로 빌드하는 모든 파일에 대해 확장되는 수천 줄의 C 코드를 구문 분석 할 필요가 없습니다.
내 충고는? 구조체의 이름을 다른 것으로 지정하십시오.
구조체의 이름을 바꾸려고 했습니까? – Milo
구조체의 이름을 변경하면 오류가 발생합니다. 불행히도'struct group'은 다른 라이브러리에서 왔습니다. 기존 프로젝트를 iOS 7.1/Xcode 5.1로 업그레이드하기 전에 오류가 표시되지 않았습니다. – ohho