【问题标题】:library not found for -lPods-AFNetworking找不到 -lPods-AFNetworking 的库
【发布时间】:2015-08-16 13:27:30
【问题描述】:

使用 AFNetworking 时出现以下错误:

''library not found for -lPods-AFNetworking''
“链接器命令失败,退出代码为 1(使用 -v 见调用)。”

我检查了所有缺少的框架,它们都存在。此外,这个项目适用于其他人(我们从 github 中提取),我是唯一一个不适用的人。(它是一个联合项目)

我们都使用 Xcode 6.2。我不明白可能出了什么问题或丢失了什么。我尝试使用命令行、sourceTree 甚至从 Xcode git 源代码控制中提取。

我还尝试了不同版本的 Xcode。但是所有其他队友都在使用 Xcode 6.2,我现在正在使用。

以前可以用,突然不工作了。

欢迎任何想法,谢谢!

以下是详细错误:

ld:警告:找不到选项的目录 '-L/Users/ramapriyasridharan/Documents/Rama-3:06:2015-ios/Mapbox' ld:警告:找不到选项“-L/Users/ramapriyasridharan/Documents/Rama-3:06:2015-ios/Pods/build/Debug-iphoneos”的目录 ld: 找不到 -lPods-AFNetworking 的库 clang:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)

编辑:

打开工作区文件后,我没有再收到 mach O 链接器错误,但我收到以下错误:

Command /Volumes/Xcode 1/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/momc failed with exit code 1

我问了我的队友,他们说它仍然可以正常工作,所以它仍然是我的计算机上的问题!

【问题讨论】:

  • 我假设您使用 .xcworkspace 文件。您可以发布您的其他链接器标志吗?

标签: ios xcode runtime-error afnetworking xcode-6.2


【解决方案1】:

反应原生:

我在拉取更改后忘记安装新的 RN 模块。所以在使用react-native 构建之前不要忘记npm iyarn

【讨论】:

    【解决方案2】:

    在使用 Cocoa Pods AFNetworking 的 iWatch 应用程序中,我遇到了同样的问题。

    我刚刚解决了问题....

    只需按照此步骤即可。

    [1] 输入终端打开项目的 podfile:

    open -a Xcode Podfile
    

    检查你是否使用AFNetworking而不是使用

    source 'https://github.com/CocoaPods/Specs.git'
    platform :ios, '8.0'
    
    pod 'AFNetworking', '~> 3.0'
    

    复制并粘贴到target 'iChat' do .... end

    喜欢.....

    target 'iChat' do
      # Uncomment the next line if you're using Swift or would like to use dynamic frameworks
      # use_frameworks!
    
      # Pods for iChat
    
    source 'https://github.com/CocoaPods/Specs.git'
    platform :ios, '8.0'
    
    pod 'AFNetworking', '~> 3.0'
    
    end
    

    [2] 然后再次打开终端,只需粘贴即可。

    pod install
    

    现在打开 App.xcworkspace 并清除并运行您可以看到 Error is Gone Now...

    【讨论】:

      【解决方案3】:

      这个问题已经有一段时间了,但今天我遇到了一个类似的问题,我们是如何解决的,方法是:Edit Scheme > Build

      并确保选中“查找隐式依赖项”选项。

      我没有选中它,在我将 CocoaPods 更新到 1.0 后,我在 Derived Data 文件夹中找不到依赖项。

      之后我可以成功构建它。

      【讨论】:

        【解决方案4】:

        我在将项目迁移到 iOS 9 时遇到了同样的错误。我通过这样做解决了它:

        1. 导航到您的项目的构建设置选项卡并搜索“链接”。
        2. Other Linker Flags 部分中,删除 -l"Pods-AFNetworking" 并将其替换为 -l"AFNetworking"

        请参阅此处链接的屏幕截图以获取更多信息:

        http://i.stack.imgur.com/uG51T.png

        【讨论】:

          【解决方案5】:

          我想自己写一个答案,因为两件事一起起作用:

          1. 正如@Helium3 提到的,我必须在文件资源管理器(projectname.xcworkspace 文件)中打开工作区而不是项目文件(我实际上有 2 个,但似乎只有 1 个可以工作!)

          2. 正如 @Muhammad Adnan 在 cmets 中提到的,安装 pod 和更新 pod 解决了链接器问题!!(注意:这应该在项目目录中完成,确保先安装cocoapods!!),另外它一开始给了我奇怪的错误(第二次之后),后来就没事了!

          谢谢你们!

          【讨论】:

            【解决方案6】:

            我遇到了同样的问题,以下解决方案对我有用:

            1. 转到项目设置 -> 构建设置 -> 其他链接器标志,并删除所有具有 -lpod 或框架或与 pod 相关的标志。 不要删除所需的标志(例如 -ObjC、-licucore、-libxml2)
            2. 在顶部添加标志 $(inherited)
            3. 清理项目并编译。

            【讨论】:

            • 实际上你是怎么得到的,Pods 有没有建议我们应该这样做,或者你只是按照你认为它应该可以工作的方式尝试了这个?
            • 我正在搜索错误出现在不同 pod 库中的类似问题。我仅从 stack over flow post 中找到了一个解决方案,并在我的项目中进行了尝试,并且成功了。因此我总结了解决方案并在这里发布,因为问题是类似的。
            • 这太有意义了!将 -l"Pods-AFNetworking" 更改为 -l"AFNetworking" 没有帮助,但确实如此。非常感谢
            • 天哪,我开始使用 user_frameworks 后一周都无法编译!在我的 pod 文件中,仍然不知道这是我们项目中最初设置的内容,但谢谢!
            【解决方案7】:

            您应该打开 WorkSpace 文件,而不是打开 XCode 项目。

            【讨论】:

            • 我用xcode从github上拉出来的,它打开了项目目录给我看,是不是错了?
            • 不确定你的意思。项目是否有工作区文件?关闭 xcode 窗口并打开工作区文件,清理并构建。
            • 我没有收到 mach O 链接器错误!但是我得到了一个新的,其他人没有得到,我已经更新了问题
            • 从终端进入项目路径下安装 pod ,更新 pod ,它将解决链接器问题。
            • @Adnan 谢谢你的回复,它已经修复了 AF-networking 错误,但它已经出现了一个新错误,它在一个名为 GRMustache 6.8.3 的 pod 文件中给出了错误
            猜你喜欢
            • 2015-12-19
            • 2017-03-31
            • 2016-09-16
            • 2018-03-28
            • 2014-06-25
            • 1970-01-01
            • 2015-12-22
            • 2014-07-27
            • 1970-01-01
            相关资源
            最近更新 更多