libtool生成.a静态库

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

libtool生成.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静态库

     ❯ libtool -static -o libTest.a test.o
    
    • libtool 参数说明
      • -static: 指定生成格式为静态库, 默认项
  4. .a静态库生成

     .
     ├── OCTest.h
     ├── OCTest.m
     ├── OCTest.o
     └── libOCTest.a