XCode Build Settings 中有三条不同的搜索路径:
- Framework Search Path(框架搜索路径)
- Header Search Path(头文件搜索路径)
- Library Search Path(库搜索路径)
请问这些路径是用来干什么的?能否有人解释一下?
XCode Build Settings 中有三条不同的搜索路径:
请问这些路径是用来干什么的?能否有人解释一下?
框架搜索路径: 除了系统框架路径外,还可以搜索框架(.framework bundles)的位置。在iOS开发中很少使用,官方没有开发者iOS框架。
在Mac开发中,如果您将第三方框架拖入项目,则会自动设置。否则,只需将其设置为保存框架的容器目录。
在 xcconfig
文件中,您可以使用此变量:
FRAMEWORK_SEARCH_PATHS = "/path/to/frameworks/container/directory"
头文件搜索路径:除系统路径外,用于搜索头文件(.h
文件)的路径。通常需要在使用第三方库时设置。将其设置为您拥有头文件的目录。如果使用目录来包含头文件(例如:#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”添加到头文件搜索路径中。
我发现将其添加到项目级别比在每个目标中添加更好。这样,目标会继承此设置,如果我更新boost版本,则只需要在一个地方更改即可。