编译,构建或存档Xcode 4(和依赖关系)的问题

这个问题在过去的几个星期里有所发展,以涵盖xcode4的更多一般性问题(以及升级旧版xcodes的项目)。

然而,许多问题可以通过遵循相同的指令来解决。

如果您遇到以下任何问题,请尝试接受的答案中的方法:

  • Xcode 4无法存档应用程序
  • Xcode 4创建了一个不可用的存档
  • Xcode 4不会创建.ipa
  • 由于预处理器错误,Xcode 4无法编译
  • Xcode 4无法找到标题
  • Xcode 4的代码完成不起作用
  • 项目依赖不会编译
  • 添加依赖会导致上述任何问题
  • 原始问题

    标题:Xcode 4中的“词法或预处理器问题文件未找到”

    我在Xcode 4中有一个项目,它可以很好地构建并在设备和模拟器上运行,但是当查找与静态库关联的头文件时尝试对其进行归档时会出现以下错误:

    In file included from /Volumes/Development/Path/LBProject/LBProject/LBProject-Prefix.pch:15:
    In file included from /Volumes/Development/Path/LBProject/LBFDefines.h:23:
    In file included from /Volumes/Development/Path/LBProject/Classes/LBProjectAppDelegate.h:11:
    In file included from /Volumes/Development/Path/LBProject/LBProject/../FKNDirectory/FKNDirectoryManager.h:10:
    /Volumes/Development/Path/LBProject/LBProject/../FKNDirectory/FKNDataModel.h:11:9: fatal error: 'Merchant.h' file not found [1]
     #import "Merchant.h"
             ^
    1 error generated. 
    

    Xcode给出了错误

    lexical or preprocessor issue file not found 
    

    很多谷歌搜索显示,很多人都有这个问题,但没有解决方案。 任何人都有一个解决方案,甚至有线索。

    更新:在所有配置中, user header搜索路径都设置为${BUILT_PRODUCTS_DIR} 。 除了归档时,它可以使用任何配置进行构建。

    更新2: Merchant.h是自动生成的核心数据类,因此在.xcdatamodeld包内,但是在构建库时,头文件都被复制到公共头文件目录中。


    注意:下面的步骤将解决90%的Xcode存档问题,但是从建议的注释中,您可以先尝试退出Xcode。 这可以为您节省数小时的设置调整。

  • 检查“用户头文件路径”是否正确(在项目和依赖关系中将“”添加到空间的路径中)
  • 将“始终搜索用户路径”设置为YES
  • 在您的项目中创建一个组标题“索引标题”,并将标题拖动到该组中,不要在提示时添加到任何目标。 这包括.xcdatamodeld中的任何标题,您需要右键单击并查看包内容才能找到它们。
  • 对于所有依赖项,将“跳过安装”版本设置设置为“是”
  • 将“构建阶段”中的任何“公共”标题移至“项目”
  • 将目标上的生成设置“安装目录”设置为$(LOCAL_APPS_DIR)
  • 将目标版本设置“扫描包含的所有源文件”更改为YES。 (链接)
  • 使用较新版本的Xcode(> 4.2),您可能想要阅读与工作空间相关的这个问题。
  • 手动删除所有引用项目中的project.xcworkspace文件

  • 我在XCode 4中遇到了同样的问题:“找不到词法或预处理器问题MyFile.h”。 但是,MyFile.m不是一个静态库,只是一个标准类。 并且MyFile.m和MyFile.h被正确包含并在项目中编入索引。

    所以...我退出XCode和模拟器,然后重新启动它们,问题消失。


    当我将目标版本设置“扫描所有包含的源文件”从no更改为yes时,发现问题消失。

    链接地址: http://www.djcxy.com/p/50991.html

    上一篇: Compile, Build or Archive problems with Xcode 4 (and dependencies)

    下一篇: How do you get implicit dependencies to work with workspaces in Xcode 4?