(资料图片仅供参考)
在Xcode中的文件搜索路径配置有两个地方,一个是Project层的配置,一个是Target的配置。Project-Build Settings-Search PathsTarget-Build Settings-Search Paths在Target中的配置选项中,可以通过配置$(inherited)让Target 继承自 Project中的配置。Search Paths的选项如下:其中重要的有如下4个1.Header Search Paths2.User Header Search Paths3.Frameworks Search Paths4.Library Search PathsHeader Search Paths在Header Search Paths配置的路径,可以通过#import <>和#import "" 这种方式引入OC类,可以通过#include <>和#include""种方式引入c, c++文件。#import <>表示从系统目录空间查找文件,#import ""表示从用户目录空间查找文件。Header Search Paths中配置的路径就是把路径同时添加到系统目录空间和用户目录空间中,所以两种方式都可以搜索。常用配置项有:$(SRCROOT)$(inherited)引用方式有:
// import直接引入类名ClassA#importUser Header Search Paths在User Header Search Paths配置的路径,可以通过#import ""或者#include""两种方式引入。#import ""表示从用户目录空间查找文件。User Header Search Paths中配置的路径就是把路径添加到用户目录空间中,所以使用#import ""这种方式导入。常用配置项有:#import "ClassA.h"// include 导入的c/c++文件是实际路径,比如Header Search Paths配置的是项目Root目录,// 那么这个 中的src表示文件放置在了Root目录下的src目录下。#include "src/ClassA.h"// #include <>引入的是编译器标准库的文件#include
$(SRCROOT)$(inherited)引用方式如下:
// import直接引入类名ClassA#import "ClassA.h"// include 导include 导入的c/c++文件是实际路径,比如Header Search Paths配置的是项目Root目录,// 那么这个"src/ClassA.h"中的src表示文件放置在了Root目录下的src目录下。#include "src/ClassA.h"Frameworks Search Paths配置本地引入的Framework库的路径,如:
$(SRCROOT)/src/frameworks/xxx.frameworkLibrary Search Paths配置本地引入的.a静态库的路径,如:
$(SRCROOT)/src/frameworks/xxx.a另外项目根路径说明
$(SRCROOT) 和 $(PROJECT_DIR) 都指xxx.xcodeproj所在的父目录是否递归查询选定目录下的所有子目录
non-recursive:默认路径设置,不遍历该目录。recursive:遍历该目录参考文章:https://www.jianshu.com/p/d41e05e6d9fa
Copyright @ 2015-2022 现在家电网版权所有 备案号: 粤ICP备18023326号-5 联系邮箱:855 729 8@qq.com