【问题标题】:Cannot include files from /usr/local/include even though they are present无法包含来自 /usr/local/include 的文件,即使它们存在
【发布时间】:2013-08-31 02:06:34
【问题描述】:

当使用位于/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 遵循我的搜索路径的诀窍是什么?

【问题讨论】:

    标签: xcode compilation include xcode4.6.3


    【解决方案1】:

    哇...多么痛苦。我只是想通了(一段时间以来一直在解决同样的问题)。

    好像有两组设置,一组用于项目,一组用于目标。

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

    【讨论】:

    • Jonas - 听起来您正在提供特定于目标的覆盖。您可以通过突出显示覆盖然后按 CMD+DELETE 在目标上删除它们。提示:覆盖为粗体,非覆盖为标准字体。删除覆盖后,它会恢复为标准字体。
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2014-07-17
      • 1970-01-01
      • 1970-01-01
      • 2013-04-25
      • 2016-09-07
      • 1970-01-01
      • 1970-01-01
      • 2013-12-05
      • 2012-06-09
      相关资源
      最近更新 更多