当使用位于/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"
。
在Xcode中,我在每个地方都设置了/usr/local/ios-armv7/include
和/usr/local/ios-armv7/include/cryptopp
,这些地方将为标题或包含文件提供路径。没有目标覆盖。我验证了通过-I
开关将路径添加到命令行。
我试过切换ALWAYS_SEARCH_USER_PATHS
。我试过切换递归。我也尝试添加和删除尾部斜杠(/
)。在每次尝试之间,我执行完全清理。我还使用Organizer删除所有数据。我甚至尝试使用不同的编译器(GCC-4.2,看起来完全坏了)。
让Xcode兑现我的搜索路径的诀窍是什么?
答案 0 :(得分:3)
看起来有两组设置,一组用于项目,一组用于目标。
查看构建设置窗格的左侧。如果突出显示项目,请点击“目标”图标,然后您将看到另一组构建设置。只要我将'/ usr / local / include'添加到我的'标题搜索路径'部分,它就会找到外部标题。
答案 1 :(得分:-1)
我将此问题追溯到usr/local/ios-arm7
的权限。权限是0600.我不确定Finder是如何/为什么能够查看它们,因为我没有获得许可。在chmod -R 0644 usr/local/ios-arm7
之后,一切都按预期工作。我还可以删除我在项目中投入的所有额外路径。