无法包含来自/ usr / local / include的文件,即使它们存在

时间:2013-08-31 02:06:34

标签: xcode compilation include xcode4.6.3

当使用位于/usr/local的文件时,我无法在Xcode版本4.6.3(4H1503)下编译项目。错误是'cryptopp/cryptlib.h' file not found。这类似于许多其他问题,但其他主题中提到的“试试这个”并没有帮助。

我有一个带有标题的目录。目录是/usr/local/ios-armv7/include。在该目录中,标题位于cryptopp/。我将文件包含#include <cryptopp/cryptlib.h>#include "cryptopp/cryptlib.h"

header files on disk

在Xcode中,我在每个地方都设置了/usr/local/ios-armv7/include/usr/local/ios-armv7/include/cryptopp,这些地方将为标题或包含文件提供路径。没有目标覆盖。我验证了通过-I开关将路径添加到命令行。

Xcode search paths

我试过切换ALWAYS_SEARCH_USER_PATHS。我试过切换递归。我也尝试添加和删除尾部斜杠(/)。在每次尝试之间,我执行完全清理。我还使用Organizer删除所有数据。我甚至尝试使用不同的编译器(GCC-4.2,看起来完全坏了)。

让Xcode兑现我的搜索路径的诀窍是什么?

2 个答案:

答案 0 :(得分:3)

哇......太痛苦了。我只是想出来了(已经有一段时间与同一个问题作斗争了。)

看起来有两组设置,一组用于项目,一组用于目标。

查看构建设置窗格的左侧。如果突出显示项目,请点击“目标”图标,然后您将看到另一组构建设置。只要我将'/ usr / local / include'添加到我的'标题搜索路径'部分,它就会找到外部标题。

答案 1 :(得分:-1)

我将此问题追溯到usr/local/ios-arm7的权限。权限是0600.我不确定Finder是如何/为什么能够查看它们,因为我没有获得许可。在chmod -R 0644 usr/local/ios-arm7之后,一切都按预期工作。我还可以删除我在项目中投入的所有额外路径。