【问题标题】:Xcode Intel compiler icc cannot find #include <algorithm>Xcode Intel 编译器 icc 找不到 #include <算法>
【发布时间】:2011-05-13 18:48:36
【问题描述】:

您好,我正在尝试使用 icc 编译器 (11.1.088) 在 Xcode 上编译基于 gcc 的代码 但我有以下错误:

catastrophic error: could not open source file "algorithm"

查看此文件后,它位于 gcc 包含目录中,但我收到数百个错误...

有人有建议吗?

谢谢。

【问题讨论】:

    标签: xcode intel icc


    【解决方案1】:

    我遇到了一个非常顽固的错误,与这个问题非常相似,但解决方案不同。

    算法:没有这样的文件或目录

    我的解决方案:

    #ifdef __cplusplus
    #include <algorithm>
    #endif
    

    我在前缀头文件中有 #include(例如 Xcode 在新项目中为您提供的 .pch 文件),这导致它包含在 Objective-C 文件中,显然 algorithm 是 C++只要。要么确保所有的 Objective-C 文件都是 Objective-C++ (.mm),要么添加该指令以确保它不会包含在这些文件中。

    【讨论】:

      【解决方案2】:

      您将什么设置为基础 SDK?什么版本的 Xcode?​​p>

      FWIW 我刚刚尝试使用 Xcode 3.2.3 和 ICC 11.1(当然是在 OS X 10.6 下)进行测试 - 使用标准 Xcode 模板创建了一个新的 C++ 控制台应用程序,将 #include &lt;algorithm&gt; 添加到 main.cc,从默认 gcc 4.2 到 ICC,它编译和运行没有警告或错误。基础 SDK 为系统默认 (10.6)。

      可能只是您安装了错误的 Xcode 和/或 ICC,或者您更改了项目设置(例如基础 SDK),而这会导致问题。

      【讨论】:

      • 您好,感谢您的测试。我使用 xcode 3.2.3,基础 sdk 是 10.5。我尝试编译一个跨平台的静态库。
      • @Ziggy:好的,试试 10.6 看看是否可行,如果可行,您已将问题缩小到使用 ICC 和 10.5 SDK 构建。可能您必须构建两个库:一个 10.5 版本的 gcc 和一个 10.6 版本的 ICC(假设您确实需要使用 ICC ?)。
      • 您好,测试了一个简单的控制台应用程序没有问题。儿子安装是正确的。无法弄清楚为什么在我的项目中失败了。可能是前缀标题顺序?
      • @Ziggy:尝试查看构建期间生成的命令 - 任何可能影响包含搜索路径等的命令(-I-iquote-isystem 等)。比较一个有效的项目和一个无效的项目。
      • 嗨,在没有设置“ICC_PRECOMPILE_PREFIX_HEADER = YES”的情况下进行了测试, 没有更多问题,但当然它在其他地方失败了。无论如何,没有前缀标头不是一种选择。我会按照你说的测试。感谢您的帮助。
      【解决方案3】:

      这个问题发生在我的机器上,在开发 iOS 应用程序时。 Xcode 版本 4.6.3 (4H1503) & iOS 版本 6.0

      我正在使用 AppCode 进行开发,并且 IDE(偶然)添加了以下导入语句:

      #import <c++/4.2.1/ext/algorithm>
      

      【讨论】:

        【解决方案4】:

        我也遇到了这个错误,我只是忘记将源代码从 .m 更改为 .mm。所以,如果调整C++编译器不起作用,请尝试更改源文件。

        【讨论】:

        • 这里已经有一个答案这么说。我不认为这个答案真的增加了任何新东西,只是一个“我也是”。
        猜你喜欢
        • 2021-06-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-07-31
        • 1970-01-01
        • 2014-08-29
        • 2021-11-27
        • 1970-01-01
        相关资源
        最近更新 更多