【问题标题】:library not found for -lReact找不到 -lReact 的库
【发布时间】:2018-06-26 18:31:40
【问题描述】:

我现在在所有应用程序构建中都遇到了这个错误,我似乎无法弄清楚。

  • 使用.xcworkspace文件
  • 我不得不重命名应用程序。已使用:react-native-app-id ...

  • 今天早上我能够在模拟器上构建/运行。我试图将 xcode 设置为在实际设备上运行,但现在全世界都讨厌我。

  • 我什至不能react-native startreact-native run-ios 不出现这些错误:

    ld:警告:找不到选项“-L/Users/gmike/Projects/promiscue/tribeoffive/TribeOfFive/ios/build/Build/Products/Debug-iphonesimulator/React”的目录 ld: 找不到 -lReact 的库 clang:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)

    ** 构建失败 **

    以下构建命令失败: ld build/Build/Products/Debug-iphonesimulator/tribe-of-five.app/tribe-of-5 正常 x86_64

    (1 次失败)

    安装 build/Build/Products/Debug-iphonesimulator/tribe-of-five.app 处理命令时遇到错误(域=NSPOSIXErrorDomain,代码=22): 未能安装请求的应用程序 无法确定应用程序的捆绑标识符。 确保应用程序的 Info.plist 包含 CFBundleIdentifier 的值。 打印:条目,“:CFBundleIdentifier”,不存在

    命令失败:/usr/libexec/PlistBuddy -c Print:CFBundleIdentifier build/Build/Products/Debug-iphonesimulator/tribe-of-five.app/Info.plist 打印:条目,“:CFBundleIdentifier”,不存在

我查看了一堆其他的 stackoverflow 文章。

我认为这说明了:

关于如何清理我的环境的想法?

【问题讨论】:

    标签: react-native


    【解决方案1】:

    当您从 Xcode 文件树中删除 libReact.a(对我来说,它位于 Frameworks 文件夹下)时,错误就会消失。

    我还删除了其他文件(它们都有一个透明/白色的覆盖层,这可能意味着它们丢失了,实际上也无法在查找器中打开它们)

    【讨论】:

    • 是的!感谢分享!我必须对 Libraries 文件夹做同样的事情
    【解决方案2】:

    好的,让我们解决这个问题:

    寻找什么:

    以下是在构建带有 cocoapods 的 react-native 项目时会导致 XCode 抛出该错误的所有子项目(或其产品)的列表:

    [
    RCTActionSheet,
    ART,
    RCTBlob,
    RCTCameraRoll,
    RCTGeolocation,
    RCTImage,
    RCTLinking,
    RCTAnimation,
    RCTNetwork,
    RCTPushNotification,
    RCTTest,
    RCTSettings,
    RCTText,
    RCTVibration,
    RCTWebSocket,
    ]
    

    在哪里可以找到那些奇怪的项目名称:

    首先,您将查看实际的错误消息。 这是一个典型的library not found error

    注意到 .../libART.a 部分了吗? 那个家伙在我这边造成了这个错误。

    在你的情况下,它可以是上面数组中的任何字符串。

    找到麻烦制造者,现在该怎么办?

    第 1 步:删除麻烦制造者项目。

    • 让我们先试试幸运的一击:

    打开项目导航器,检查是否可以看到与问题制造者字符串对应的链接项目。在我的例子中,它是一个名为 ART 的 XCode 项目。 如果你在那里找到它,只需删除它的引用,就可以了。

    • 如果这不起作用:

      打开 {Project Target} > Build Phases > Link binary with libraries 并检查是否可以在其中看到麻烦制造者字符串。 (可能是 libArt.a 之类的东西,具体取决于导致问题的原因)

    如果可行,请忘记下一步,否则继续:

    第二步:删除派生数据目录,清理重建

    在我的例子中(如上面的原始错误所示)派生数据目录是/Users/sudoplz/Library/Developer/Xcode/DerivedData/MySuperApp-haxjchilyksewvdfcnnxwrulvyvy/Build/Products/Debug-iphonesimulator/

    在错误日志中找到您的,然后将其删除。 然后,您可以清理 XCode,将其关闭,再次启动,然后重新构建。

    希望这可以解决问题,或者帮助您继续解决其他可能出错的问题。

    就是这样。

    【讨论】:

      【解决方案3】:

      尝试通过从项目中找到 libReact.a 来将该文件添加到库中,然后清理并运行 Xcode。

      尝试将 libReact.a 添加到您的项目“构建阶段”> 将二进制文件与库链接,然后清理并运行 Xcode。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-11-29
        • 1970-01-01
        • 1970-01-01
        • 2018-11-06
        • 2015-10-11
        • 2014-02-14
        • 2013-06-08
        • 2020-03-21
        相关资源
        最近更新 更多