XCode 使用未声明的标识符,仅在打开文件时出现
Posted
技术标签:
【中文标题】XCode 使用未声明的标识符,仅在打开文件时出现【英文标题】:XCode use of undeclared identifier, only appears if the file is opened 【发布时间】:2015-09-03 10:36:24 【问题描述】:当我清理、构建和运行我的 XCode 项目时一切顺利,但如果我打开一个调用该函数的文件,则会出现使用未声明的标识符“func()”。这是整个实现:
函数被调用:
func();
并且 'func()' 在 .h 文件中被清除,如下所示:
#if __cplusplus
extern "C"
#endif
extern void func();
#if __cplusplus
#endif
func() 的实现是一个 cplusplus 库。
为什么只有文件打开时才会出现错误,但如果我不打开它,它会运行并正常工作?
【问题讨论】:
您的系统出现严重问题,或者您误认为这是原因。 您使用的是哪个版本的 Xcode?span> 我尝试了很多次......只有在打开文件时才会发生。 最新版 XCode 6 【参考方案1】:Xcode 有两种生成错误消息的方法。通常这两者都会生成相同的消息,因此您不会检测到有两个系统。
第一个系统是执行语法着色和自动完成的编辑器。它还会在您编写错误后几乎立即显示错误消息。
第二个系统是构建日志中显示的错误。
我怀疑您的项目有一个复杂的包含设置。这会阻止第一个系统找到要包含的正确文件,因此它找不到func()
的定义。
【讨论】:
以上是关于XCode 使用未声明的标识符,仅在打开文件时出现的主要内容,如果未能解决你的问题,请参考以下文章
发布 iOS 构建错误 - 使用未声明的标识符“Twitter”
重命名项目/工作区后,出现多个“未声明的标识符”错误——但构建良好
未捕获的语法错误:在 JS 文件中导入 JavaScript 时出现意外标识符