我正在使用Xcode 6 beta 6构建应用程序。我手动添加了一个前缀文件,并在构建设置中指定了它:$(SRCROOT)/$(PRODUCT_NAME)/MyApp-Prefix.pch
。文件编译,在那里定义的符号在编辑器中不会突出显示为未声明。但是,当我构建项目时,我得到前缀文件中定义的宏的“未声明的标识符”错误。发生了什么事?
我尝试了什么:
有趣的是.pch文件肯定会在构建时编译。如果我在那里引入语法错误,它会在构建结果中调用。如果pch文件编译好,那么编译器开始表现就像在构建使用它的文件时找不到它。
答案 0 :(得分:2)
您应该在没有$(SRCROOT)的情况下将文件名添加到“Prefix Header”部分。只需将Precompile Prefix Headers设置为YES即可。
有关详细信息,请查看https://stackoverflow.com/a/26126065/3628317回答。
适用于XCode 6.1。
答案 1 :(得分:0)
作为第一个猜测,你有一个预编译的头文件,它没有意识到你已经改变了.pch,所以它仍然使用旧版本的预编译文件。
清理项目,然后进入Window>组织者>项目> $(PRODUCT_NAME)并删除派生数据。
答案 2 :(得分:0)
有时您可能只是删除方案或目标并重新创建一个新方案。