ar生成.a静态库 - ShenYj/ShenYj.github.io GitHub Wiki

ar生成.a静态库

  1. OCStaticLib文件夹中准备OCTest.hOCTest.m两个简单的类文件

    .
    ├── OCTest.h
    └── OCTest.m
  2. OCTest.m编译成.o目标文件

    终端进入到同级目录, 执行clang命令

    clang -x objective-c \
    -target x86_64-apple-macos11.1 \
    -fobjc-arc \
    -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.1.sdk \
    -c OCTest.m \
    -o OCTest.o

    编译后

    .
    ├── OCTest.h
    ├── OCTest.m
    └── OCTest.o
    • 参数说明:
      • -x: 指定语言
      • -target: 指定架构(指令集)
      • -fobjc-arc: 指定为ARC模式
      • -isysroot: 指定SDK的路径
  3. OCTest.o文件生成.a静态库

    ❯ ar -rc libOCTest.a OCTest.o
    • ar 参数说明
      • -r:向.a中添加或替换文件(无则添加, 有则替换)
      • -c:不输出任何信息
      • -t:列出包含的目标文件
  4. .a静态库生成

    .
    ├── OCTest.h
    ├── OCTest.m
    ├── OCTest.o
    └── libOCTest.a
⚠️ **GitHub.com Fallback** ⚠️