zoukankan      html  css  js  c++  java
  • xcode静态库调试

    [工程1]:静态库工程,用来生成xxx.a

    [工程2]:项目工程,需要引入静态库xxx.a

    工程2引入静态库的方法是将工程1生成的xxx.a和include头文件目录,加入到工程2中。

    而如果需要在工程2中调试工程1的代码,则需要按照如下步骤操作:

    (1)工程1编译成功后关闭,然后将工程1.xcodeproj文件,直接拖入工程2中;(同一个工程只能在一个地方打开,工程1需要关闭,不然在工程2中会无法展开)

    (2)设置LinkBinaryWithLibraries属性:在BuildPhases/LinkBinaryWithLibraries下加入xxx.a;

    (3)设置头文件搜索目录:BuildSettings/Search Paths/User Header Search Paths中添加工程1的目录,直接拖,然后选择recursive;

    (4)然后便可以断点调试...

    查看.a支持的架构:

      lipo -info xxx.a

    Xcode静态库不向下兼容的问题:

      打包静态库时,Build Settings 中 Link Frameworks Automatically 把默认Yes 改成 No! 静态库就不会自动链接Metal了。

    注意静态库文件的版本(4种):

      1.真机-Debug版本

      2.真机-Release版本

      3.模拟器-Debug版本

      4.模拟器-Release版本

    小结:

      1.编译静态库:项目->Build Phases->Copy File->添加头文件

      2.模拟器编译时,挑选高版本(向下兼容,低版本不能在高版本运行)

      3.静态库分真机版本和模拟器版本(必须在对应的版本运行)

      4.合并真机版本和模拟器版本(常用)

      lipo -create 真机.a 模拟器.a -output 结果.a

      合并版本更大,开始时使用方便(所以可以开发时使用合并版本,发布时,使用真机版本)

      5.release版本和debug版本:

      debug版本:调试版本,没有任何优化,也就是说各种错误信息,都将抛出和检测,相对来说性能低一点,但是方便调试

      release版本:发布版本,进行了优化,执行效率更高

      提醒:实际开发当中,项目完成后,在debug版本上没有问题了,一定要去release版本上调试一下,否则也许可能发生一些bug。

    参考链接:https://www.cnblogs.com/richard-youth/p/4856841.html

  • 相关阅读:
    小黄衫获奖感言
    原型设计
    20210326编程作业
    阅读任务
    准备工作
    cmd命令行批量修改文件名后缀
    【智能算法】模拟退火算法
    【智能算法】粒子群寻优算法
    【并行计算】基于OpenMP的并行编程
    Python科学计算——前期准备
  • 原文地址:https://www.cnblogs.com/sifenkesi/p/12075713.html
Copyright © 2011-2022 走看看