【问题标题】:XCode use of undeclared identifier, only appears if the file is openedXCode 使用未声明的标识符,仅在打开文件时出现
【发布时间】: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

标签: ios objective-c xcode objective-c++ llvm-clang


【解决方案1】:

Xcode 有两种生成错误消息的方法。通常这两者都会生成相同的消息,因此您不会检测到有两个系统。

第一个系统是执行语法着色和自动完成的编辑器。它还会在您编写错误后几乎立即显示错误消息。

第二个系统是构建日志中显示的错误。

我怀疑您的项目有一个复杂的包含设置。这会阻止第一个系统找到要包含的正确文件,因此它找不到func() 的定义。

【讨论】:

    猜你喜欢
    • 2014-11-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多