iOS:澄清不同的搜索路径

21

XCode Build Settings 中有三条不同的搜索路径:

  • Framework Search Path(框架搜索路径)
  • Header Search Path(头文件搜索路径)
  • Library Search Path(库搜索路径)

请问这些路径是用来干什么的?能否有人解释一下?

2个回答

30

框架搜索路径: 除了系统框架路径外,还可以搜索框架(.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" 

这三个都可以保存由引号分隔的路径列表,用空格分隔。


0

这些用于搜索不在系统搜索路径中的框架、头文件或库(如QTKit.Framework、标准C++头文件等)。

我最常见的用法是在我的代码中使用boost头文件库(*.hpp文件),我将相对路径“../lib/Boost/1.46.1”添加到头文件搜索路径中。

我发现将其添加到项目级别比在每个目标中添加更好。这样,目标会继承此设置,如果我更新boost版本,则只需要在一个地方更改即可。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接