C++源码Xcode生成静态库

第一步:创建静态库工程

第二步:导入C++源码

第三步:设置Build Settings-Search Paths-Header Search Paths

设置Header Search Paths的作用是让C++代码能识别到工程中的文件路径,如果不设置肯定会报错 XXX can not found,文件找不到。

提示1:include <>与" "要区分好,否则设置了Header Search Paths也引用不到自己的C++头文件

引用系统库 #include <X>

引用自己写的C++源码 #include "X"

$(SRCROOT)代表工程的根目录,如果不设置这一步,代码里如果引用

 提示2:因为我们工程里有很多同名文件,所以我没有以递归的方式设置根目录,而是把几个被引用的子目录单独添加进了Paths中。如果你的源码没有同名文件,只添加一个$(SRCROOT)即可,后面的non-recursive改为recursive,也就是由非递归改成递归,自动把根目录下的所有文件夹都添加进paths中。

第四步:修改C++14不支持的源码

我的C++源码是Linux系统下使用的服务器代码,因此有很多库是Linux的,Xcode上的很多语法特性C++11之后不支持了,点击build或者Analize找到报错,全部改掉。

第五步:确定打包平台

如果是真机需要,需要勾选真机,模拟器则勾选模拟器,这一步很重要

如果有报错,例如以下情况:

大概率是少了引用库

我这里缺少的库有这些

引用库添加方式如下 

输入缺失的库即可,如下图

第六步:点击build生成静态库

 

编译报错汇总

报错1:C++11warning: invalid suffix on literal; C++11 requires a space between literal and string macro ...

解决方案: 字符串和字母之间需要一个空格,举个例子,如下图,ETC和前面的双引号需要空格

报错2:'xxx' does not contain bitcode. You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE), obtain an updated library from the vendor, or disable bitcode for this target. for architecture arm64

结局方案:BuildSettings -> Enable Bitcode,设置为 NO。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Little丶Seven

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值