【发布时间】:2011-05-13 18:48:36
【问题描述】:
您好,我正在尝试使用 icc 编译器 (11.1.088) 在 Xcode 上编译基于 gcc 的代码 但我有以下错误:
catastrophic error: could not open source file "algorithm"
查看此文件后,它位于 gcc 包含目录中,但我收到数百个错误...
有人有建议吗?
谢谢。
【问题讨论】:
您好,我正在尝试使用 icc 编译器 (11.1.088) 在 Xcode 上编译基于 gcc 的代码 但我有以下错误:
catastrophic error: could not open source file "algorithm"
查看此文件后,它位于 gcc 包含目录中,但我收到数百个错误...
有人有建议吗?
谢谢。
【问题讨论】:
我遇到了一个非常顽固的错误,与这个问题非常相似,但解决方案不同。
算法:没有这样的文件或目录
我的解决方案:
#ifdef __cplusplus
#include <algorithm>
#endif
我在前缀头文件中有 #include(例如 Xcode 在新项目中为您提供的 .pch 文件),这导致它包含在 Objective-C 文件中,显然 algorithm 是 C++只要。要么确保所有的 Objective-C 文件都是 Objective-C++ (.mm),要么添加该指令以确保它不会包含在这些文件中。
【讨论】:
您将什么设置为基础 SDK?什么版本的 Xcode?p>
FWIW 我刚刚尝试使用 Xcode 3.2.3 和 ICC 11.1(当然是在 OS X 10.6 下)进行测试 - 使用标准 Xcode 模板创建了一个新的 C++ 控制台应用程序,将 #include <algorithm> 添加到 main.cc,从默认 gcc 4.2 到 ICC,它编译和运行没有警告或错误。基础 SDK 为系统默认 (10.6)。
可能只是您安装了错误的 Xcode 和/或 ICC,或者您更改了项目设置(例如基础 SDK),而这会导致问题。
【讨论】:
-I、-iquote、-isystem 等)。比较一个有效的项目和一个无效的项目。
这个问题发生在我的机器上,在开发 iOS 应用程序时。 Xcode 版本 4.6.3 (4H1503) & iOS 版本 6.0
我正在使用 AppCode 进行开发,并且 IDE(偶然)添加了以下导入语句:
#import <c++/4.2.1/ext/algorithm>
【讨论】:
我也遇到了这个错误,我只是忘记将源代码从 .m 更改为 .mm。所以,如果调整C++编译器不起作用,请尝试更改源文件。
【讨论】: