ar生成.a静态库

优质
小牛编辑
133浏览
2023-12-01

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