ChatGPT解决这个技术问题 Extra ChatGPT

'ld:警告:找不到选项的目录'

当我构建我的 Xcode 4 应用程序时,我收到了这个警告:

ld: warning: directory not found for option '-L/Users/frenck/Downloads/apz/../../../Downloads/Google Analytics SDK/Library'
ld: warning: directory not found for option '-L/Users/frenck/Downloads/apz/../Google Analytics SDK/Library'

但是我的应用程序中没有 Google Analytics,我删除了所有内容,如何才能消除错误?归档应用程序会给我错误:

clang: error: no such file or directory: 'armv6'
Command /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang failed with exit code 1

我已经尝试了很多东西,但是当我尝试制作 .IPA 文件时仍然出现此错误

请注意,有一个非常相似的警告,但使用的是 -F 而不是 -Ldirectory not found for option '-F/...。请参阅下面的@macayer 答案以了解不同之处。
注意:确保引用带有空格的目录。例如 $(PROJECT_DIR)/my folder 应该是`"$(PROJECT_DIR)/my folder"
当我的班级没有正确的 target membership specified 时,我遇到了这个问题。
@Jackson 那为我修好了。我收到了 -F 警告,并按照您在构建设置中的“框架搜索路径”中的指示引用了它来修复它。谢谢
定期备份是最佳做法。

B
Blazer

你需要这样做:

单击您的项目(目标)单击构建设置

如果您的错误包含 -L 标志,则删除 Library Search Paths 中的值

如果您的错误包含 -F 标志,则删除框架搜索路径中的值

关于第二个错误,对不起,我无法帮助您解决那个错误。希望别人可以帮助你。


这破坏了我的项目,但我只是注释掉了我的 Google Analytics #imports 并删除了 SDK,退出 xcode,重新添加并取消了我的 #imports 的注释,它又可以工作了 :)
如果您确实需要该库路径,请小心删除。验证错误中指定的路径是否存在。磁盘上库的位置可能已移动。
删除 Library Search Paths 后出现错误:ld: library not found for -lMoboSDK clang: error: linker command failed with exit code 1 (use -v to see invocation)(lMoboSDK 是我的静态库)
我必须删除“AppTests”目标上“框架搜索路径”下的路径以清除错误。
对于那些看到@lee 看到的错误...确保您打开并构建工作区而不是项目。
D
Dave Liepmann

人们似乎混淆了两个错误。

如果它是“找不到选项'-L/...的目录”错误,这意味着它是一个库错误,你应该尝试:

单击您的项目(目标)

点击构建设置

在库搜索路径下,删除路径

如果它是“找不到选项'-F/...的目录”,这意味着它是一个框架错误,你应该尝试:

单击您的项目(目标)

点击构建设置

在框架搜索路径下,删除路径

当您移动引用的文件时,可能会发生这种情况。


为什么不能所有的答案都像你的一样简洁和有用?谢谢你。我有一个附带问题:从哪里得知神秘的 -L/-F 错误?我是整个链接/编译/构建游戏的新手,Xcode 的内置文档并不是完全可以写回家的。我假设大部分这些东西都可以通过命令行访问。我的这个假设是对的吗?我什至很难知道从哪里开始所有这些东西。我习惯于 Web 开发,因此您可以假设,在该领域中查找信息要容易一些。
在删除搜索路径时,它再次显示 FacebookSDK not found。这是一个 -F 错误。我正在使用 Xcode 6.1
为我工作。我不得不删除项目和测试模块的目标中的框架搜索路径(在项目从 iOS8.3 升级到 iOS9 时)。
来吧Apple,“它只是工作”发生了什么......这也应该适用于开发。至少为我们提供有关如何解决此类问题而不是这些神秘信息的建议。有点让人想起微软,嗯。
非常感谢“-L 是库搜索路径”和“-F 是框架搜索路径”指南,它非常适合我。
l
lujop

我的问题是我打开了原始的 .xcodeproj 而不是 CocoaPods 生成的 .xcworkspace。


该死的,我在键盘上敲了三个小时后,这真的救了我
是的,我花了一个小时才发现我犯了同样的“错误”。只是“把事情做好”并不是 Xcode 擅长的...... F#ing 功能膨胀。
b
backslash-f

我不得不删除以下引用:

目标

构建设置

框架搜索路径

https://i.stack.imgur.com/ITm2S.png

然后构建被破坏(预期)。所以我删除了框架(FB SDK),重新添加了它,瞧。没有更多的错误或警告。 :)


L
Lazar Kukolj

我使用可可豆荚,所以对我来说,我退出 Xcode 并运行

pod install

再次重新打开项目。这解决了一切!


当您的建议实际上可以解决类似问题时,不确定为什么您会被否决!具体来说,如果您在向项目添加新的构建配置后遇到类似的错误消息,这是一个解决方案。由于自动添加新的构建配置意味着复制现有配置,因此您需要运行 pod install 来调整“基于配置文件”列的值。
此外,可可豆荚会生成一个工作区。确保打开它,而不是项目文件。 pod install + 打开工作区文件解决了我的问题。
在 ionic 中,当我在平台/ios 文件夹中运行 pod install 时,这对我有用
谢谢你分享这个,它也对我有用。
I
Iron Mike

对我来说,问题是缺少转义“\”字符。

我的搜索路径在库搜索路径中被分成几行。方便的是,他们在我路上的空间打破了。添加转义“\”为我修复了它。

$(PROJECT_DIR)/My\ Project\ Name/My\ Directory

这是完美的答案! 2014 年 4 月测试
遗憾的是,这在 2015 年 2 月的 Xcode 6 中仍然被破坏。路径中的空格不需要手动转义。
上面接受的和投票率较高的答案对我不起作用,但确实如此。我的暗示是这个问题是 Xcode 抛出 2 -L 错误,每个错误都是完整路径的一个片段,并且它在空间上中断。同意在 2015 年我们不必担心逃离空间,这应该在幕后为我们处理!
是的,这是 Xcode 中的一个长期存在的问题,当您的搜索路径由系统自动添加时(即由于将库拖到“嵌入式二进制文件”中 - 由于某种原因它不会自动转义空格并随后解释它们作为单独的文件路径。
J
Jasper

我在以下位置找到了我必须删除的参考:

目标

构建设置

标头搜索路径


使用 Google 查找“ld:警告:找不到选项的目录”的解决方案,找到我自己的答案作为解决方案
S
Sam B

在我的情况下,问题是具有不完整、死、旧链接或多个相同类型框架的框架搜索路径。删除它们,您的项目将毫无问题地编译。

一定要构建 -> 清洁

https://i.stack.imgur.com/Gufjy.png


F
Francesco

在 Xcode 崩溃后,我遇到了同样的问题(第一个问题),并且提出的解决方案都没有奏效。为了抑制我所做的警告:

• 管理计划...

• 删除了当前方案

• 现在独裁计划


我们应该让这个原始问题的作者发布一个注释来运行所有这些解决方案。一个列表。尝试第一个,第二个下一个解决方案,下一个解决方案......因为这样做是为了我迁移旧项目而其他解决方案是合理的解决方案。如果我没有全部尝试,我就不会找到这个……继续前进并在混乱中游泳。谢谢弗朗西斯科!
M
Major MacGregor

这对我有用:

单击项目单击构建设置搜索“框架搜索路径”清除路径并键入“$(继承)”


B
Brad Folkens

我也被似乎是同样的问题所困扰(这次是在 XCode 5.0.2 中)。就我而言,发生的事情是 XCode 决定转义“构建设置”中已经存在的引号。例如:

"$(SRCROOT)/../GoogleAdMobAdsSdkiOS-6.4.1"

变成了

\"$(SRCROOT)/../GoogleAdMobAdsSdkiOS-6.4.1\"

这导致构建失败......

一旦我删除了引号上的转义符,一切都会再次正常运行。此外,除非您需要它们,否则最好完全删除引号。


巨大的+1。 " 上的那些转义是导致 -L 和 -F 选项的 "找不到目录" 错误的原因。
非常有用的提示...在我的项目中,xcode 5.0.2 在路径的开头、中间和结尾转义了引号......它还以一种奇怪的方式复制了某些框架的路径...删除了转义,让“真实框架路径”用于项目正在使用的那些并摆脱了警告......在更正路径后也有必要再次删除/添加框架
G
Gaurav Chaturvedi

如果在您将 Podfile 添加到项目并运行 pod install 后发生这种情况,请转到您的项目文件夹,您将看到一个已创建的新文件“{ProjectName}.xcworkspace”——在 xcode 中打开该文件

已安装的 pod 将在此文件中正确链接到您的项目


可能是您打开了项目文件而不是工作区。
M
Madhu Kumar

部署目标可能不匹配。为 11.0 安装了 pod,Xcode 正在 10.0 文件夹中搜索


C
Cesare

请按照以下分步解决方案进行操作:

单击您的项目(目标);点击构建设置;在 Library Search Paths 下,删除路径;在库搜索路径上添加 ./**。


S
Suragch

补充答案

所有答案都说要从目标中删除框架或库搜索路径。我有两个问题:

首先,我正在查看我的主要项目目标而不是单元测试目标。

其次,我不知道如何删除框架搜索路径。原来,它只是单击它进入编辑模式,然后只是删除字符串。


我想试试这个,但我担心它会破坏应用程序。你确定在你这样做之后一切正常吗?
@Supertecnoboff 如果您担心它不起作用,请在删除之前保存字符串。您可以随时将其粘贴回去。我的应用程序已经坏了,所以我只需要继续尝试,直到某些东西起作用。我上面的回答对我有用。
s
studiou

对我来说,问题似乎是我没有包含适当的框架(从另一个项目复制插件时,我也没有复制框架文件)


C
Chris Klingler

此类错误的关键是进入构建设置并查看每个搜索路径部分,例如库搜索路径、框架搜索路径甚至可能是标题搜索路径,并清除任何不再适用于您的搜索路径的路径应用程序很难找到。删除它们并继续好先生


c
chings228

去检查缺少哪个框架,然后去

=> 构建阶段 => 将二进制文件与库链接

删除库,然后重新添加


p
prankin

当我创建一个新方案并使用它进行重建时,我遇到了类似的问题???


V
Vincent

对我来说,我还启用了测试。测试的搜索路径也填写不正确。

清除常规代码和测试代码的框架搜索路径!


A
Alperen Adatepe

由于已进入搜索路径(框架和库)的自定义目录,项目会覆盖 pod 的目录。所以它找不到它。

要解决此问题,请删除所有自定义目录

搜索路径 -> 库路径和框架路径,

只看到 ${inherited}。

我希望这有帮助。它对我有用。


V
Viral Savaliya

如果您安装了任何新的 pod,然后出现此错误,只需退出 xcode > 再次打开 > 构建项目


J
James Wong

https://i.stack.imgur.com/cepVf.png

在项目 -> 构建设置 -> 搜索路径 -> 库搜索路径中添加 $(inherited) -Objc -lcrypto - lssl


上面的解决方案对我来说很好,如果它不适合你,请分享截图。
J
JJIqbal

如果在安装了一些依赖项的 pod 之后发生这种情况,则问题可能是您在 Xcode 上使用的是旧版本的应用程序(.xcworkspace)。

安装 pod 后,这是您可能会看到的输出。

pod 安装的输出。

https://i.stack.imgur.com/zh1P1.png

这样做,关闭你当前的 Xcode 窗口并打开新的 .xcworkspace。

打开新的 xcworkspace]

https://i.stack.imgur.com/R5JgN.png


k
kingboylee0595

你应该检查这个选项:

构建设置-> 框架搜索路径-> {输入您的项目路径}


M
Mohammed Fathy

我已经查看了所有 [库搜索路径 - 框架搜索路径 - 标题搜索路径]。但是没有要删除的路径,所以我可以通过进入 Xcode 包并在警报所抱怨的路径位置创建一个空目录来消除此警报。


O
Ofir Malachi

确保在目标中只选择了 1 个“libFlurry.a”

为我工作。

https://i.stack.imgur.com/iRf76.png


C
Community

如果您更改为 MainApps 新配置,请不要忘记在您的工作区中为 Pod 项目创建相同的配置。

例如,

就我而言,为了解决这个问题,当我为我的 MainApp 创建 ReleaseOfficial 配置时,我还必须为 Pod 项目创建 ReleaseOfficial 配置。


E
EmpireJones

如果 typical solution 没有解决问题,那么为我解决的问题是确保 xcode 项目中的所有 iOS 版本(例如 IPHONEOS_DEPLOYMENT_TARGET)/部署目标、podfile(如果适用)等都设置为相同的版本号.


A
Ahmed Samir

1-选择你的目标

2-打开构建设置

3-搜索“框架搜索路径”

4-删除所有“框架搜索路径”

5-然后再次安装吊舱

6-添加“框架搜索路径”$(继承)

7-清除 cmd + k

8-构建 cmd + b