简而言之,在 iOS项目中,我将/usr/local/include/
设置为标题搜索路径,然后在源代码中我不能在此目录中包含标题。但是在 Mac OS X项目中,一切都很好。如何正确修改 iOS项目的设置?
在详细介绍中,我创建了一个新的 iOS Cocoa Touch Framework项目。由于我想包含由Homebrew安装的一些boost标题,我将构建 TARGETS (不是 PROJECTS )中的标题搜索路径设置为/usr/local/include/
。无法编译代码#include <boost/noncopyable.hpp>
,并且消息是“找不到boost / noncopyable.hpp文件”。但是在 Mac OS X项目中,可以使用相同的代码和相同的设置进行编译。
答案 0 :(得分:1)
我发现了这个问题的原因,就是 iOS项目没有找出别名目录(和文件?)。
通过Homebrew的boost库安装在
中 /usr/local/Cellar/boost/1.57.0/include/
(从属)
,Homebrew在
中创建了一些别名目录和文件 /usr/local/include/
要在 iOS项目中包含提升主管,我们必须将标题搜索路径设置为实际路径,而不是别名路径。
但是直到现在,我还无法弄清楚为什么 iOS项目和 Mac OS X项目之间的行为有所不同。当前版本的XCode是6.4(6E35b)。
答案 1 :(得分:0)
选择“构建设置”选项卡,然后搜索公共标题。双击Public Headers Folder Path设置,然后在弹出窗口中输入以下内容:
答案 2 :(得分:0)
选择“构建设置”选项卡,然后搜索公共标题。双击Public Headers Folder Path设置,然后在弹出窗口中输入以下内容:
包括/ $(PROJECT_NAME)