【问题标题】:dyld: Symbol not found: _ffi_prep_closure_loc (on Mac)dyld:未找到符号:_ffi_prep_closure_loc(在 Mac 上)
【发布时间】:2020-11-25 18:38:30
【问题描述】:

我在我的 Mac 上做了一个常规的flutter run,今天针对我的 iPhone 模拟器并得到了这些错误。

Error output from CocoaPods:
↳
    dyld: lazy symbol binding failed: Symbol not found: _ffi_prep_closure_loc
      Referenced from: /Users/toure/.rbenv/versions/2.6.0/lib/ruby/gems/2.6.0/gems/ffi-1.13.1/lib/ffi_c.bundle
      Expected in: /usr/lib/libffi.dylib

    dyld: Symbol not found: _ffi_prep_closure_loc
      Referenced from: /Users/toure/.rbenv/versions/2.6.0/lib/ruby/gems/2.6.0/gems/ffi-1.13.1/lib/ffi_c.bundle
      Expected in: /usr/lib/libffi.dylib

dyld: Symbol not found: _ffi_prep_closure_loc 错误如何解决?

【问题讨论】:

    标签: flutter cocoapods dyld


    【解决方案1】:

    我在github issue 中找到了一个修复程序。

    在我的 Mac 上运行它解决了这个问题。

    gem uninstall ffi
    brew reinstall libffi
    export LDFLAGS="-L/usr/local/opt/libffi/lib"
    export PKG_CONFIG_PATH="/usr/local/opt/libffi/lib/pkgconfig"
    gem install ffi
    

    我决定分享这个,因为问题标题中的错误与我得到的不同。希望这可以节省一些时间。

    【讨论】:

    • 哇!在尝试了很多东西之后:重新安装 FFI、Ruby……没有任何解决问题的方法。您的解决方案完美运行。谢谢! ?
    【解决方案2】:

    我能够通过使用此标志重新安装实用程序来解决此问题:

    gem install ffi -- --disable-system-libffi

    原来ffi-1.13.1 使用的是ffi_prep_closure_loc()system-libffi for Mac 没有这个功能。

    有关更多信息,请参阅ffi 问题 #791

    【讨论】:

      猜你喜欢
      • 2021-09-06
      • 1970-01-01
      • 1970-01-01
      • 2019-04-02
      • 1970-01-01
      • 2014-08-15
      • 1970-01-01
      • 2015-05-02
      • 2020-04-18
      相关资源
      最近更新 更多