Xcode头文件引入方式

Xcode头文件引入方式,第1张

在Xcode Build System设置中,有Header Search Path、System Header Search Path、User Header Search Path这几种方式,区别在于:

上述三种方式是基本的文件引用方式,一个项目那么多文件,用这些引用路径遍历查找肯定是很低效的,所以Xcode会优先使用Header Map来提高头文件索引速度。

当我们开启 Build Setting 中的 Use Header Map 选项后,会自动生成的一份头文件名和头文件路径的映射表,而这个映射表就是 hmap 文件,不过它是一种二进制格式的文件,也有人叫它为 Header Map。

还有一种头文件搜索机制,它是基于 Framework 这种文件结构进行的。

当拖入一个.framework文件进入工程,自动会在Framework Search Path配置上该文件路径。

这里着重讲一下Framework打包时,Public、Private、Project的区别:

https://blog.csdn.net/MeituanTech/article/details/114109300?spm=1001.2014.3001.5502

开发的小伙伴是不是最近遇到这样的问题,新建的项目导入的第三方库,如果使用双引号import "",系统不提示,而使用了尖括号import<>导入则系统会提示。我们会感到好奇,因为尖括号<>导入的,我们一般是系统的文件,双引号""导入的是我们这些第三方。那为什么现在新建的项目导入第三方也要用<>呢。

  相关苹果的说明,请点击这里

Xcode10以后,苹果采用了新的构建模式,把build System的默认改成了 New Build System,之前的改为了Legacy Build  System。

所以,如果你是Xcode10之后创建的项目。那么导入第三方头文件就得用尖括号,如果想用双引号导入,那么久修改 build System 为  Legacy Build  System。修改方法如下

2:一般的创建项目,直接导入第三方

如果你用New Build System ,那么导入系统提示

你需要删除/,自己动手加上.h

如果你用Legacy Build System ,那么导入系统提示 

这样你就知道该怎么选择了。

做的项目中需要引用SourceTrees定义路径里的头文件,刚开始没有头绪,稍加思索发现太简单了。此SourceTrees非彼SourceTree,是Xcode“偏好设置”中的一个选项,见下图:以上面的“QUICK_COCOS2DX_ROOT”一项为例,我遇到的问题是想在工程中引用这个路径下include文件夹里的头文件。一般情况下如果想把某个文件夹中的头文件加入到工程中,可以在BuildSetting中的HearderSearchPath里添加形如$(SRCROOT)/..之类的路径,而$(SRCROOT)其实就是.xcodeproj文件所在的路径。其实,在上图SourceTrees中定义的QUICK_COCOS2DX_ROOT与SRCROOT的作用等同,都是充当路径的别名的。那么照葫芦画瓢,想引用别名为QUICK_COCOS2DX_ROOT路径下include文件夹里的头文件,就在BuildSetting中的HearderSearchPath里添加$(QUICK_COCOS2DX_ROOT)/.include路径就行了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11812373.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存