【发布时间】:2019-12-24 22:31:29
【问题描述】:
我找不到在 Xcode 11.2.1 中添加增强功能的方法。我在目标下找到了一个名为“框架和库”的设置。我将 boost 目录拖到那里,它被添加到项目的“框架”部分。但是,在构建项目时,它说“找不到文件”。例如:
#include <boost/lambda/lambda.hpp>
导致“找不到文件”错误。我没有添加 boost,而是拖动了 Macports 的整个包含区域。 Xcode 花了一段时间来解析它,但我得到了同样的错误。所以,在框架下它有“包含”,但它找不到相关的 hpp 文件,即使我检查过并且它在 boost 树中。
我已经通过 Macports 安装了 boost。它位于 /opt/local/include/boost 中。
在 Xcode 文档中,我看到了对“USER_HEADER_SEARCH_PATHS”的引用。我想出了如何在配置文件中设置它,所以我在项目中添加了一个配置文件。我将此添加到配置文件中: USER_HEADER_SEARCH_PATHS = /opt/local/include/boost 但这也不起作用。 (如果我删除了提升,那也不起作用)。
当我在项目的框架位置中选择“包含”时,我看到该对象(Xcode 窗口的右侧)有不同的“身份和类型”设置。我选择了“绝对路径”,它显示完整路径为 /opt/local/include 这是正确的。但是,这也不能解决问题。
我是否需要在预定义的区域中创建一个链接以便 Xcode 可以找到它?
我确实找到了一个相当难看的解决方法:在 STL 所在的同一区域(在 Xcode.app 目录结构内)创建一个指向 boost 库的软链接。
使用该设置仅适用于单个文件。我可以将单个文件添加到设置中(通过拖放),但它不会遵循嵌套目录,因此显然这不适用于诸如 boost 之类的库实现。
【问题讨论】: