$(inherited)
搜索路径设置是什么?
我已经修改了关于OpenSSL for iPad的标题和库搜索路径设置,这个问题以及给定路径的递归选项是主要罪魁祸首。
当我重新安排我的搜索路径以首先查看目录然后进入$(inherited)
时,iPad版本正在运行。
答案 0 :(得分:35)
我也在寻找文档。但我获得了经验,$(inherited)
可用于从项目级别继承构建设置到目标级别。在项目级别定义库或标题搜索路径时,可以在目标构建设置中使用$(inherited)
在项目目标的搜索路径中使用这些搜索路径。
答案 1 :(得分:29)
如果您转到“目标构建设置”,并切换到“级别视图”
您可以从右到左看到inherited
的流程
Resolved <- Target <- xcconfig <- Project <- iOS Default
因此,目标中的inherited
表示Target继承了xcconfig和Project
答案 2 :(得分:4)
附录:
当您通过单击目标成员资格右侧窗格向目标库添加库时,将自动填充$(inherited)
构建设置 - &gt;库搜索路径。否则就不会发生这种情况。
答案 3 :(得分:4)
通过在xcconfig文件中重新分配该变量的值,在项目或目标级别设置的覆盖构建设置变量的示例。
// Variable set in the project file, previous level
OTHER_LDFLAGS = -ObjC
// lib.xcconfig
OTHER_LDFLAGS = -framework Security
^使用此编译时,OTHER_LDFLAGS -ObjC
的先前值将被新值-framework Security
覆盖。
继承构建设置变量的示例,在项目或目标级别上设置,方法是附加到xcconfig文件中该变量的上一个值。将$(inherited)
视为一个特殊变量,可用于获取变量的现有值,以便对同一变量的赋值不具有破坏性。
// Variable set in the project file, previous level
OTHER_LDFLAGS = -ObjC
// lib.xcconfig
OTHER_LDFLAGS = $(inherited) -framework Security
^使用此编译时,OTHER_LDFLAGS的值将为-ObjC -framework Security
。
答案 4 :(得分:0)
Xcode $(继承)
[Xcode ${<variable_name>} syntax]
Xcode 变量可以定义在不同的级别(项目、.xcconfig、目标、默认)。当您使用 Build Settings -> Levels
标签时,您可以检查层次结构和已解决结果
$(inherited)
使用来自超级级别的变量值。
请注意以下几点:
当您应该像 $(inherited)-myPrefix
这样连接结果值时,它很有用。用作独立表达式并不是很有用,因为即使您从后继(目标是项目的后继)中删除 $(inherited)
或任何其他值,Xcode 也会根据前任自动更改此值
您可以在项目级别和目标级别设置 .xcconfig
,这就是结果层次结构不是恒定的原因
Resolved <- Target <- Target .xcconfig <- Project <- Project .xcconfig <- Default
例如目标 = $(inherited)