为在iOS项目中使用的C库创建包装器

为在iOS项目中使用的C库创建包装器,ios,c,swift,gdal,swift-package-manager,Ios,C,Swift,Gdal,Swift Package Manager,我正试图利用的功能在iOS应用程序中使用。我实现这一目标的方法是- 创建环绕GDAL的Swift包 在iOS的Xcode项目中使用上述软件包 对于这种方法是否可行,以及如果不可行,对最佳替代方案的任何建议,我将不胜感激。就目前而言,该项目是可以找到的 背景- 我用的是苹果的MacBookPro GDAL目前是通过我的Mac电脑上的自制软件安装的 除非我弄错了,否则在Mac上安装GDAL是为了arm64体系结构- 我已经在包的module.modulemap中链接了gdal的头文件 我正在尝

我正试图利用的功能在iOS应用程序中使用。我实现这一目标的方法是-

  • 创建环绕GDAL的Swift包
  • 在iOS的Xcode项目中使用上述软件包
  • 对于这种方法是否可行,以及如果不可行,对最佳替代方案的任何建议,我将不胜感激。就目前而言,该项目是可以找到的

    背景-

    • 我用的是苹果的MacBookPro
    • GDAL目前是通过我的Mac电脑上的自制软件安装的
    • 除非我弄错了,否则在Mac上安装GDAL是为了arm64体系结构-
    • 我已经在包的module.modulemap中链接了gdal的头文件
    • 我正在尝试为任何iOS设备(arm64)
    最初,我在构建项目时收到以下警告和错误消息-

    ld: warning: Could not find or use auto-linked library 'gdal'
    Undefined symbols for architecture arm64:
      "_GDALVersionInfo", referenced from:
          static SwiftGDAL.SwiftGDAL.gdalVersionPrint() -> () in SwiftGDAL.o
    ld: symbol(s) not found for architecture arm64
    clang: error: linker command failed with exit code 1 (use -v to see invocation)
    
    我在Swift包中的代码能够识别
    GDALVersionInfo
    ,因为我可以通过单击选项查看它的声明,这使我相信我的包能够读取GDAL的内容,但无法确定如何处理它

    在将
    库搜索路径
    内置设置显式设置为
    /opt/homebrew/opt
    时,我收到了一个额外的警告-

    ld: warning: building for iOS, but linking in dylib file (/opt/homebrew/opt/gdal/lib/libgdal.dylib) built for macOS, 'gdal'
    
    鉴于我在Mac is arm64上安装了GDAL,有没有办法解决上述警告?此外,为什么编译器在查找架构arm64的符号时遇到困难

    ld: warning: building for iOS, but linking in dylib file (/opt/homebrew/opt/gdal/lib/libgdal.dylib) built for macOS, 'gdal'