问题: Header Search Paths 与 User Header Search Paths 的区别

分析

在Xcode->Target->BuildSettings中, 有两个设置一个是User Header Search Paths, 一个是 Header Search Paths. 其实还有一个废弃的Always Search User Paths.

Header Search Paths 就是我们平时使用的, 设置头文件搜索路径的方法. 可以通过配置Header Search Paths 来引入头文件, 从而可以使用该类.

区别

Header Search PathsUser Header Search Paths 是具有同样功能的, 区别在于 import 或者 include 头文件时, Header Search Paths 会多一种方式.

import时, 有两种方式:

#import <SomeClass.h>
#import "SomeClass.h"

若在Header Search Paths中设置SomeClass的路径后, 上面两种方式都可以使用. 但在User Header Search Paths中设置后, #import <SomeClass.h> 会编译报错.

这里写图片描述

根本区别在于, 前者生成类似“-I path/to/header”的编译选项,后者生成类似“-iquote path/to/header”.

扩展

其实还有另一个很相似的设置Always Search User Paths,
如果出现上面这样的错误, 这时把Always Search User Paths设置成Yes,强制也import<> 也在User Header Search Paths搜索。 但是现在这个设置已经废弃了, 也不必过多探究了.

猜你喜欢

转载自blog.csdn.net/wangyanchang21/article/details/78813311