您好我正在尝试使用 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 ?
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),这会导致问题。
这个问题发生在我的机器上,在开发 iOS 应用程序时。Xcode 版本 4.6.3 (4H1503) & iOS 版本 6.0
我正在使用 AppCode 进行开发,并且 IDE(偶然)添加了以下导入语句:
#import <c++/4.2.1/ext/algorithm>
我也遇到了这个错误,我只是忘记将源从 .m 更改为 .mm。因此,如果调整 C++ 编译器不起作用,请尝试更改源文件。