【问题标题】:Xcode 7: Linker warning for -F/<path> but no settings in app.xcodeproj/project.pbxproj match <path>Xcode 7:-F/<path> 的链接器警告,但 app.xcodeproj/project.pbxproj 中没有设置匹配 <path>
【发布时间】:2023-04-03 13:59:01
【问题描述】:

我使用 Xcode 7 beta 3 将适用于 iOS 的 Swift 1.x 项目转换为 Swift 2.x。它可以编译并运行,但我仍然有一个链接器警告。我已经通过 project.pbxprox 搜索了有问题的路径,并查看了 Xcode 中的“构建设置”,但没有发现有问题的路径的迹象(甚至在库搜索路径或框架搜索路径中也没有)。但是,我确实发现 xcuser 状态文件包含子字符串。

警告:'ld: warning: directory not found for option "-F/Applications/Xcode-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.0.sdk/Developer/Library/Frameworks\"'

搜索:

[foo@bar baz{Swift2}]$ grep -r Baz.xcodeproj/ iPhoneOS9.0
grep: iPhoneOS9.0: No such file or directory
[foo@bar baz{Swift2}]$ grep -r 'Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.0.sdk/Developer/Library/Frameworks' Baz.xcodeproj/
Binary file Baz.xcodeproj//project.xcworkspace/xcuserdata/bar.xcuserdatad/UserInterfaceState.xcuserstate matches
[foo@bar baz{Swift2}]$

像往常一样,我对项目和模拟器(手表、iPhone)都进行了“清理”。

我检查了目录路径,发现确实没有这样的路径;路径组件一直存在到“iPhoneOS9.0.sdk”组件。也就是说,这条路径存在:'/Applications/Xcode-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.0.sdk',但该位置没有'Developer' 子目录。但是,下面有一个框架目录,但它位于 'iPhoneOS9.0.sdk/System/Library/Frameworks/' 而不是 'iPhoneOS9.0.sdk/Developer/Library/Frameworks'

【问题讨论】:

  • 这个应用程序本身是否包含任何框架目标?
  • 唯一的目标是 测试,这是一个非常简单的单视图应用程序的默认设置(更多的是教程/实验而不是应用程序)。
  • 尝试删除测试。 - 我的意思是测试target.
  • 谢谢,马特,这很有效。你也遇到过这种情况吗?如果您提出答案,我会接受 ;-) 您知道为什么会发生这种情况吗?
  • UserInterfaceState.xcuserstate 文件中也不再有二进制匹配项。

标签: ios xcode


【解决方案1】:

我也遇到过同样的问题。我相信这是因为某些路径错误地硬编码到测试目标的构建设置中。我不知道它是什么路径;我的反应是删除测试目标,然后错误就消失了。

你总是可以新建一个测试目标,而且你不必删除测试文件,所以损失不大。

【讨论】:

【解决方案2】:

如果你在升级 Xcode 后遇到这个问题,那么只需在 Xcode 中点击;

文件 -> 打开最近的 -> 清除菜单。

Xcode -> 相当 Xcode

进入你的项目目录,正常打开你的项目。

单击 cmd + alt + shift + K,这将清理您的项目

clcik cmd + B

那你应该没事。

【讨论】:

  • 这清除了我的警告并添加了一个新警告-" ld: warning: directory not found for option '-F/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/ SDKs/iPhoneSimulator9.0.sdk/Developer/Library/Frameworks'
  • Roei,我遇到了同样的问题。不过这篇文章为我解决了这个问题。 stackoverflow.com/a/32620919/4048853
【解决方案3】:

将您的测试目标的框架搜索路径更改为 $(PROJECT_DIR)/*

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-01-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-05
    • 2018-07-20
    • 2017-12-09
    相关资源
    最近更新 更多