【发布时间】:2016-01-12 01:46:51
【问题描述】:
我运行的是 OS 10.11,我的 XCode 版本是 7.2。
突然间我的项目无法在 XCode 中编译。 XCode 似乎对文件类型感到困惑——即使我的项目中的所有文件都标记为类型 Objective-C 代码,我收到的错误表明我的代码正在编译为 C++。以下是深度嵌套的系统头文件中出现的一些错误:
Unknown type name 'namespace'
'utility' file not found (from #include_next <utility>)
我已验证所有文件都列为 Objective-C。我什至尝试通过'Identity and Type'将它们更改为Objective-C++,并将扩展名更改为.mm,但这会在系统级头文件深处引入一组更大的神秘编译错误,例如:
Use of undeclared identifier 'nullptr_t'; did you mean 'nullptr'?
No member named 'memchr' in the global namespace
我已经尝试过几次重新安装 XCode。有什么建议吗?
更令人困惑的是,我有一台不同的 Mac,具有相同版本的 OS X、相同版本的 XCode,以及完全相同的代码(通过 git 验证),并且编译正常。
【问题讨论】:
-
#include_next <utility>是你程序中的一行代码吗?您最近是否添加了任何新的库或框架?您是否在前缀标头中添加了任何包含语句? -
我不包含它 -- #include_next
出现在深度嵌套的系统头文件中 -
我从项目中删除了所有库和框架,但没有任何效果。
-
您包含的导致此嵌套包含的标头是什么?
-
@uliwitness,就是这样:#import
这个#import 也会导致它:#import
标签: objective-c xcode objective-c++