gpt4 book ai didi

c# - Xamarin.iOS 与第三方框架绑定(bind)

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:57:09 25 4
gpt4 key购买 nike

我正在尝试更新指向我管理的代码的 Xamarin.iOS 绑定(bind),现在我遇到了麻烦,因为我已经用 .framework 替换了外部 .a 库引用。特别是,当我尝试编译我的绑定(bind)时,我替换的库的 native 链接失败。

Native linking error: framework not found SVGKit for architecture arm64/i386/armv7/armv7s (MT5209)

我知道 SVGKit 支持这些架构,但我不确定如何在从 .framework 引用时将它们包含在生成的二进制文件中。

最佳答案

您好,我会这样做来诊断问题

首先我会检查 SVGKit.framework/SVGKit 是一个假框架(伪装成框架的静态库)还是动态框架(iOS 8+仅支持) 在二进制文件上使用file 命令

file Foo.framework/Foo
Foo.framework/Foo: Mach-O universal binary with 4 architectures
Foo.framework/Foo (for architecture i386): Mach-O dynamically linked shared library i386
Foo.framework/Foo (for architecture x86_64):Mach-O 64-bit dynamically linked shared library x86_64
Foo.framework/Foo (for architecture armv7): Mach-O dynamically linked shared library arm
Foo.framework/Foo (for architecture arm64): Mach-O 64-bit dynamically linked shared library

file Bar.framework/Bar
Bar.framework/Bar: Mach-O universal binary with 4 architectures
Bar.framework/Bar (for architecture armv7): current ar archive random library
Bar.framework/Bar (for architecture i386): current ar archive random library
Bar.framework/Bar (for architecture x86_64):current ar archive random library
Bar.framework/Bar (for architecture arm64): current ar archive random library

Foo 是一个动态库,注意 Mach-OBar 是一个伪装成框架的静态库,注意 ar

现在,如果它是一个假框架(静态库),只需将 SVGKit.framework/SVGKit 二进制文件重命名为 SVGKit.a 并将其添加到您的绑定(bind)项目中,它应该照常工作

如果它是一个动态框架,那么请遵循这些 instructions on how to do it .[0]

[0]:请注意,一旦 Xamarin Studio 6.0 发布,您将无需手动修改绑定(bind)项目 .csproj 文件,您将能够在 IDE 本身内完成:)

关于c# - Xamarin.iOS 与第三方框架绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36584414/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com