我找不到在Xcode 11.2.1中添加boost的方法。我在目标项下找到了一个名为“Frameworks and Libraries”的设置。我把boost文件夹拖到这里,它被添加到项目的“Frameworks”部分。但是,在构建项目时,它会显示“找不到文件”。例如:
#include <boost/lambda/lambda.hpp>
如果出现“文件未找到”错误,则表示库文件未找到。我没有添加boost,而是将Macports的整个包含区域拖入。尽管Xcode花了一些时间来解析,但我仍然遇到了相同的错误。因此,在“Frameworks”下它有“include”,但是它无法找到相关的hpp文件,即使我检查过了,并且它在boost树中。
我已经通过Macports安装了boost。它位于/opt/local/include/boost。
在Xcode文档中,我看到了对“USER_HEADER_SEARCH_PATHS”的引用。我想到了如何在配置文件中设置它,所以我向项目添加了一个配置文件。我在配置文件中添加了以下内容: USER_HEADER_SEARCH_PATHS = /opt/local/include/boost 但是这也不起作用。(如果我删除boost,那也不起作用)。
当我在项目的“Frameworks”位置中选择“include”时,我看到该对象(Xcode窗口右侧)具有不同的“Identity and Type”设置。我选择了“absolute path”并显示了完整路径/opt/local/include,这是正确的。但是,这也没有解决问题。
我需要在预定义区域中创建链接,以便Xcode可以找到它吗?
我找到了一个相当不好看的解决方法:在STL所在的相同区域中创建指向boost库的符号链接(位于Xcode.app目录结构中)。
使用该设置仅适用于单个文件。我可以将单个文件添加到设置中(通过拖放),但它不会遵循嵌套目录,因此这显然不适用于诸如boost之类的库实现。