在Xcode中,我们必须在构建设置中配置多个路径,然后我们将处理 $(SRCROOT)和 $(PROJECT_DIR)< / strong>,但他们之间有什么区别,你能给我一个例子吗,很多。
答案 0 :(得分:34)
在实践中可以交换,而文档则进行了这些微妙的理论区分:
SRCROOT
目录路径。标识包含目标的源文件的目录:包含定义目标的项目文件的路径。
SOURCE_ROOT
是SRCROOT
PROJECT_DIR
标识包含项目(.xcodeproj
)的目录
$(PROJECT_DIR)/build
用作创建默认值:
OBJROOT
SYMROOT
通常,这些路径不是按目标设置的,而是按项目或按用户设置的。
PROJECT_FILE_PATH
识别项目本身
相当于$(PROJECT_DIR)/$(PROJECT_NAME).xcodeproj
概念上不同(#1是关于定义目标的项目,而#2是关于任何目标的项目独立),它们总是指向相同的因为你本质上总是建立一个目标。
<强>参考强>
Xcode 8.3 Build Settings reference
Xcode Build System Guide(2016-09-29退休)
答案 1 :(得分:9)
SRCROOT
&amp; PROJECT_DIR
是相同的宏具有相同的效果。PROJECT_DIR
在谈论框架时更有意义。