【发布时间】:2011-12-01 14:31:29
【问题描述】:
XCode 构建设置中有三种不同的搜索路径:
- 框架搜索路径
- 标题搜索路径
- 图书馆搜索路径
谁能澄清这些路径的作用以及它们的用途?
【问题讨论】:
标签: ios xcode ios-frameworks build-settings
XCode 构建设置中有三种不同的搜索路径:
谁能澄清这些路径的作用以及它们的用途?
【问题讨论】:
标签: ios xcode ios-frameworks build-settings
框架搜索路径:除了系统框架路径之外,还可以在哪里搜索 frameworks(.framework 捆绑包)。在iOS开发中用的不多,官方没有开发者iOS框架。
在 Mac 开发中,如果您将 3rd 方框架拖到项目中,它会自动设置。否则,只需将其设置为保存框架的容器目录即可。
在xcconfig 文件中你使用这个变量:
FRAMEWORK_SEARCH_PATHS = "/path/to/frameworks/container/directory"
头文件搜索路径:除了系统路径之外,在哪里搜索头文件(.h 文件)。通常,如果您使用的是 3rd 方库,您将需要它。将其设置为您拥有头文件的目录。如果您使用目录来包含标题(例如:#import "mylibrary/component.h"),请将其设置为父目录。
在xcconfig 文件中你使用这个变量:
HEADER_SEARCH_PATHS = "/path/to/headers/container/directory"
库搜索路径:除了系统路径之外,还可以在哪里搜索库文件。如果您将库(.a 文件)拖到项目中,Xcode 会自动设置它。要手动设置,请使用库所在的目录。
在xcconfig 文件中你使用这个变量:
LIBRARY_SEARCH_PATHS = "/path/to/libraries/container/directory"
这三个都可以包含一个路径列表,带有引号,用空格分隔。
【讨论】:
这些用于搜索不在系统搜索路径中的框架、头文件或库(如 QTKit.Framework、标准 C++ 头文件等)。
我最常见的用途是在我的代码中使用 boost 头库 (*.hpp) 文件,我将相对路径“../lib/Boost/1.46.1”添加到 Header Search Path。
我发现在项目级别而不是在每个目标中添加它会更好。这样,目标继承了这一点,如果我更新了 boost 的版本,它只需要在一个地方进行更改。
【讨论】: