一、$(inherited):这个是target在设置自己路径的时候如果加了这个,那么就是继承project里设置的路径。如果不需要继承就不加,要不然乱加有可能整混导致路径错误。
二、Header Search Paths和User
Header Search Paths
首先明确一点,Header Search Paths顾名思义就是用来存放Project中头文件的搜索根源,没有被add到项目里的头文件,可以通过配置Header Search Paths来引入头文件,这样的好处可以不让project包含的文件太多,便于管理。
浅显一点的区别是,编码时候通过#include引入头文件的方式有两种<>和""。<>是只从Header Search Paths中搜索,而""则能从Header Search Paths和User Header Search Paths中搜索。换言之,假如你把路径加到User Header Search Paths中,那么你用#include 的方式去引入对应的头文件,就会报错。如果加到Header Search Paths,就没有问题了。
具体一点的区别是,<>是从系统目录空间(对应Header Search Paths)中搜索文件,""是从用户目录空间(对应User Header Search Paths)中搜索文件。如果你把路径加到User Header Search Paths中,而<>无法从系统目录空间中找到新加的路径,从而报错。
所以在修改User Header Search Paths这个选项的时候使用
"$(SRCROOT)/当前工程名字/需要包含头文件所在文件夹"
将上面的双引号里面的字符串拷贝之后,你会发现这个“$(SRCROOT)”,会自动变成当前工程所以的目录。
这样就可以了,发给别人,别人也不用在去修改路径了。
三、$(SRCROOT):代表的是项目根目录下,$(PROJECT_DIR)代表的是整个项目下
四、recursive和non-recursive:是否在你设置的路径下递归搜索。
网友评论