XCode环境变量及路径设置

$(SRCROOT):当前工程所在目录

使用场景:

    在修改User Header Search Paths这个选项的时候使用:

    "$(SRCROOT)/当前工程名字/需要包含头文件所在文件夹"


include <> 引用编译器的类库路径下的头文件
include "" 引用工程目录的相对路径的头文件
include 是编译指令,在编译时,编译器会将相对路径替换成绝对路径,因此,头文件绝对路径=搜索路径+相对路径。
Xcode Build Settings 下 Search Paths设置搜索路径
Header Search Paths:头文件搜索路径设置
$(SRCROOT)宏和$(PROJECT_DIR)宏都指xxx.xcodeproj所在的父目录


例如:引用工程testDemo/scr/test.h 头文件,

Header Search Paths中添加$(SRCROOT),引用为include “scr/test.h"
如果在Header Search Paths中添加$(SRCROOT)/scr,那么头文件引用直接引用 include “test.h”
如果设置了 Always Search User Paths 为 yes,编译器会先搜索User Header Search Paths路径下的目录,在这种情况下include <string.h>,User Header Search Paths 搜索目录下的文件会覆盖系统的头文件。


Lexical or Preprocessor Issue '***.h' file not found
这样的错误是因为Header Path没有设置好。
Xcode Header Path的设置
Header Search Paths是一定会去搜索的。
而User Header Search Paths只有在Always Search User Paths为Yes时才会被搜索。
Project的设置默认并不被Targets继承,只有当Targets的设置加入了$(inherited)时才被继承
如果设置了还是搜索不到,可能是路径错误,这时可以尝试全路径确认路径是否填错。
如果你#include "A/B/x.h",则设置的path下面必须可以找到A。把xxx/A/B设为path还是找不到x.h的,把A所在xxx设为path则可以找到。
填入路径时,左边有个勾选框,如果不选则只搜你填入的path,勾选则会搜索path下所有子目录


转载于:https://my.oschina.net/hejunbinlan/blog/416703

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值