【问题标题】:iOS: Clarify different Search PathsiOS:阐明不同的搜索路径
【发布时间】:2011-12-01 14:31:29
【问题描述】:

XCode 构建设置中有三种不同的搜索路径:

  • 框架搜索路径
  • 标题搜索路径
  • 图书馆搜索路径

谁能澄清这些路径的作​​用以及它们的用途?

【问题讨论】:

    标签: ios xcode ios-frameworks build-settings


    【解决方案1】:

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

    这三个都可以包含一个路径列表,带有引号,用空格分隔。

    【讨论】:

      【解决方案2】:

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

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

      我发现在项目级别而不是在每个目标中添加它会更好。这样,目标继承了这一点,如果我更新了 boost 的版本,它只需要在一个地方进行更改。

      【讨论】:

        猜你喜欢
        • 2021-07-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-06-07
        • 2013-11-07
        • 2012-01-01
        • 1970-01-01
        相关资源
        最近更新 更多