【问题标题】:CFLAGS="-arch armv7" vs CFLAGS="-arch armv7 -arch arm64"CFLAGS="-arch armv7" vs CFLAGS="-arch armv7 -arch arm64"
【发布时间】:2018-10-01 00:52:34
【问题描述】:

我想编译一个同时支持armv7和arm64的静态库,下面两个操作有什么区别?

  • CFLAGS="-arch armv7" CFLAGS="-arch armv7"分别构建两个架构,然后使用lipo创建一个fat静态库。

  • CFLAGS="-arch armv7 -arch arm64" 构建同时支持两种架构的静态库。

【问题讨论】:

    标签: ios macos makefile build static-libraries


    【解决方案1】:

    应该没有区别。您可以检查使用命令生成的库

    lipo -detailed_info YOUR_LIBRARY_NAME
    

    它们都应该是胖文件。

    【讨论】:

    • 我偶然发现编译一次是可行的。但在我以往的认知中,构建总是分开的,一些开源项目也是这样做的,比如FFmpeg-iOS-build-script。这让我很困惑,一次构建不是更快更方便吗?还是必须单独构建 iOS?
    • 应该没有太大区别,iOS和macOS对fat文件的行为方式相同
    猜你喜欢
    • 2012-01-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多