【问题标题】:xcode 6 pch.file not foundxcode 6 pch.file 未找到
【发布时间】:2014-11-08 13:08:00
【问题描述】:

我将我的项目从 xcode 5 加载到 xcode 6 并看到错误 myProject-prefix.pch is not found in myProjectTests,我添加此文件并看到新错误

Ld /Users/willrock/Library/Developer/Xcode/DerivedData/Мобильный_Extreme_Fitness-cdfxpafcwvsczkfjvlwznradvmhm/Build/Products/Debug-iphonesimulator/Мобильный\ Extreme\ FitnessTests.xctest/Мобильный\ Extreme\ FitnessTests normal x86_64
cd /Users/willrock/Desktop/ExtremeFitness
export IPHONEOS_DEPLOYMENT_TARGET=7.1
export PATH="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -arch x86_64 -bundle -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator8.0.sdk -L/Users/willrock/Library/Developer/Xcode/DerivedData/Мобильный_Extreme_Fitness-cdfxpafcwvsczkfjvlwznradvmhm/Build/Products/Debug-iphonesimulator -F/Users/willrock/Library/Developer/Xcode/DerivedData/Мобильный_Extreme_Fitness-cdfxpafcwvsczkfjvlwznradvmhm/Build/Products/Debug-iphonesimulator -F/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator8.0.sdk/Developer/Library/Frameworks -F/Applications/Xcode.app/Contents/Developer/Library/Frameworks -F/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/Library/Frameworks -F/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator8.0.sdk/Developer/Library/Frameworks -filelist /Users/willrock/Library/Developer/Xcode/DerivedData/Мобильный_Extreme_Fitness-cdfxpafcwvsczkfjvlwznradvmhm/Build/Intermediates/Мобильный\ Extreme\ Fitness.build/Debug-iphonesimulator/Мобильный\ Extreme\ FitnessTests.build/Objects-normal/x86_64/Мобильный\ Extreme\ FitnessTests.LinkFileList -bundle_loader /Users/willrock/Library/Developer/Xcode/DerivedData/Мобильный_Extreme_Fitness-cdfxpafcwvsczkfjvlwznradvmhm/Build/Products/Debug-iphonesimulator/extreme_fitness.app/extreme_fitness -Xlinker -objc_abi_version -Xlinker 2 -framework XCTest -fobjc-arc -fobjc-link-runtime -Xlinker -no_implicit_dylibs -mios-simulator-version-min=7.1 -framework XCTest -framework UIKit -framework Foundation -Xlinker -dependency_info -Xlinker /Users/willrock/Library/Developer/Xcode/DerivedData/Мобильный_Extreme_Fitness-cdfxpafcwvsczkfjvlwznradvmhm/Build/Intermediates/Мобильный\ Extreme\ Fitness.build/Debug-iphonesimulator/Мобильный\ Extreme\ FitnessTests.build/Objects-normal/x86_64/Мобильный\ Extreme\ FitnessTests_dependency_info.dat -o /Users/willrock/Library/Developer/Xcode/DerivedData/Мобильный_Extreme_Fitness-cdfxpafcwvsczkfjvlwznradvmhm/Build/Products/Debug-iphonesimulator/Мобильный\ Extreme\ FitnessTests.xctest/Мобильный\ Extreme\ FitnessTests

ld: file not found: /Users/willrock/Library/Developer/Xcode/DerivedData/Мобильный_Extreme_Fitness-cdfxpafcwvsczkfjvlwznradvmhm/Build/Products/Debug-iphonesimulator/extreme_fitness.app/extreme_fitness clang: error: linker command failed with exit code 1 (use -v to see invocation)

如果我加载项目,请参阅 xctest

clang: error: no such file or directory: '/Users/willrock/Desktop/ExtremeFitness/extreme_fitness/extreme_fitness-Prefix.pch' clang: error: no input files Command /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang failed with exit code 1

但在 xcode 5 中工作正常

【问题讨论】:

  • 清理项目。从管理器中删除您应用的派生数据集。

标签: objective-c xcode xcode6


【解决方案1】:
  1. 新建文件:⌘cmd+N
  2. iOS/Mac > 其他 > PCH 文件 > YourProject-Prefix.pch。
  3. 确保显示“全部”而不是“基本”。 (蓝色按钮)
  4. 项目 > 构建设置 > 搜索:“前缀标题”。
  5. 在“Apple LLVM 7.0”下,您将获得 Prefix Header 键。
  6. 键入文件目录。例如:“$(SRCROOT)/$(PROJECT_NAME)/ProjectName-Prefix.pch”。
  7. 清理项目:⌘cmd+⇧shift+K
  8. 构建项目:⌘cmd+B

【讨论】:

  • 在第 5 步,我将输入 $(SRCROOT)/$(PROJECT_NAME)/YourProject-Prefix.pch
  • 不需要“YourProjectName/YourProject-Prefix.pch”。可以直接指定.pch名称
  • Errrr... 这显然取决于文件的位置。没有正常人将文件保存在项目文件夹之外。
  • 从设备或模拟器中删除应用程序,然后执行步骤 6 和 7。让我们知道..
  • 谢谢你的建议,我刚刚做了->这里stackoverflow.com/questions/28576447/…
【解决方案2】:

只需将您的方案名称更改为您想要的任何名称。清除项目然后编译它。 它对我有用。

【讨论】:

    【解决方案3】:

    这里是你应该做什么的描述

    1. 点击蓝页下第一个文件夹,项目名称。该文件夹旁边还有项目名称。

    2. File > New File > iOS > Other

    3. 点击PCH File

    4. 点击Next

    5. 另存为:PrefixHeader

    6. 点击Targets下的第一个复选框ONLY;如果其他人被选中,请取消选中它们

    7. 点击Create

    8. 如果 Prefix Header" 文件最终位于不同的文件夹中,例如 Supporting Files 文件夹,请将其移至您在步骤 1 中单击的顶部文件夹

    9. 单击左侧边栏顶部的蓝色页面,旁边是项目名称。它就在您在步骤 1 中单击的文件夹的上方

    10. 点击Build Settings标签

    11. 在搜索栏中输入Prefix Header,然后按Return/Enter

    12. 查找Apple LLVM 6.0 or 7.0 - Language. 6.0 指的是 Xcode 6,7.0 指的是 Xcode 7。这没有区别。

    13. 确保 Increase Sharing of Precompiled Headers 设置为 No 并且 Precompile Prefix Header 设置为 No

    14. Precompile Prefix Header 行下方找到Prefix Header 行。将光标移动大约 5 英寸,但保持在同一条线上。双击。将打开一个盒子。

    15. 输入您的项目名称(在您在步骤 1 中单击的文件夹旁边说明)

      示例)逾期作业的先决条件 请务必在需要的地方输入大写字母,例如“Prereq”中的“P”。它区分大小写。 现在,输入正斜杠 (/)。然后输入您在步骤 2-7 中创建的文件的名称(同样,这是区分大小写的,您必须在需要的地方放置空格)。我建议您将文件保留为PrefixHeader(无空格)。在文件名之后,例如PrefixHeader,输入.pch 全部小写。

    16. 最终的结果应该是这样的:

      Prereq for Overdue Assignment/PrefixHeader.pch

    17. 现在,单击Product 菜单(您在步骤 2 中单击的文件菜单的 6 个菜单)。然后点击Clean

      您可以通过同时按住commandshiftK来绕过此步骤。 收到消息后,Clean Succeeded, 继续执行第 18 步。

    18. 单击Product 菜单并转到Build。点击Build

      你可以同时按住commandB绕过这一步。你应该得到Build Completed.

    就是这样!

    【讨论】:

      【解决方案4】:

      如下,将[Precompile Prefix Header]改为[no] 和 [Prefix Header] 的字段为空。

      我重建项目,它通过并运行!

      [Project]
      -[Basic]
      -[Apple LLVM6.1-Language]
      --[Precompile Prefix Header]-[no]
      --[Prefix Header]--[]
      

      【讨论】:

        【解决方案5】:
        • 在文件导航器中选择您的框架
        • 打开实用程序窗格(Xcode -> 查看 -> 实用程序 -> 显示文件检查器)
        • 为所有目标启用框架的目标成员资格。

        【讨论】:

          【解决方案6】:

          这个问题有很多原因,我自己也遇到了问题。我必须执行两个步骤才能运行我的项目。也许它对其他人有帮助。

          1. 我删除了 Build Settings 的 Prefix header 中的条目。

          路径-> Target> Build Settings > Prefix Header.

          1. 删除了目标中的Your Project Tests 文件

            screen shot for the second point.

          参考:http://www.buzztouch.com/forum/thread.php?tid=F42D8239A330C321132944A&currentPage=3

          【讨论】:

            【解决方案7】:

            生成一个新的 pch 文件。 将文件命名为 Demo-Prefix.Pch 转到目标 - 构建设置

            【讨论】:

            • 你可以为文件命名任何你想要的东西,它不需要是特定的东西,据说我不明白反对票
            【解决方案8】:

            我解决了 - 在目标中删除 xctest 目标并编译

            【讨论】:

            • 这是一个虚假的解决方法,因为不解决问题,而是将其从基数中删除!如果我想添加回测试目标?
            【解决方案9】:

            用 Xcode 6 试试这个。你需要手动创建 PCH 文件。

            文件 -> 新建 -> 文件 -> iOS -> C 和 C++ -> PCH 文件。

            将新的 PCH 文件添加到项目中 - 新文件 > 其他 > PCH 文件

            在项目的“构建设置”选项中 - 将“Prefix Header”的值设置为您的 PCH 文件名,以项目名称作为前缀 - 即对于名为“TestProject”的项目和名为“MyPrefixHeaderFile”的 PCH 文件,添加值 'TestProject/MyPrefixHeaderFile.pch' 到 plist。

            【讨论】:

            • 缺少 PCH 文件是为什么我的 Xcode 一直抱怨无法识别多个类上的 UIKit 和 Foundation API。伙计,苹果公司 Xcode 背后的这些人都应该因为发布如此糟糕的东西而被解雇。每次 Xcode 更新都会变得更糟。感谢您的提示。
            • @spacedog 没有什么比抱怨你的工具更能说明“我是一个理性、专业的成年人”了。
            • 如果你接受废话而不抱怨,事情就不会改善。专业人士总是抱怨,因为他们想创造更好的东西,为此他们需要更好的工具。不能用勺子和叉子建造哥特式大教堂。
            猜你喜欢
            • 2015-06-04
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2014-11-23
            • 2021-10-22
            • 2011-03-22
            • 2012-07-06
            相关资源
            最近更新 更多