swift相关项目包含私有库引起的Undefined symbols for architecture arm64

简介: swift相关项目包含私有库引起的Undefined symbols for architecture arm64

纯OC项目默认不设置use_frameworks!,swift项目必须设置use_frameworks!。

一般的私有库为了便于修改,大都是使用源码设计不生成framework库,若不使用use_frameworks!,项目编译时,都是生成.a文件。大家都知道.a库文件可以采用#import "BITLogMacro.h"方式引入其它库的头文件,而framework库需要采用#import <DYSingleObject/BITSingleObject.h>方式访问其它库的头文件。造成私有库可能无法在swift项目或含有swift项目中使用。不然包找不到头文件的如下错误:

Undefined symbols for architecture arm64:
  "_OBJC_CLASS_$_BITSingleObject", referenced from:
      objc-class-ref in BITNSObject.o
  "_bitLogLevel", referenced from:
      -[BITNSObject configLog] in BITNSObject.o
      +[BITNSObject initialize] in BITNSObject.o
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

目录
相关文章
|
编译器 Linux
boost库交叉编译ARM版本
boost库交叉编译ARM版本
1311 2
|
机器学习/深度学习 人工智能 计算机视觉
好的资源-----打卡机+Arm+Qt+OpenCV嵌入式项目-基于人脸识别的考勤系统-----B站神经网络与深度学习,商城
好的资源-----打卡机+Arm+Qt+OpenCV嵌入式项目-基于人脸识别的考勤系统-----B站神经网络与深度学习,商城
|
Ubuntu 编译器 C语言
蓝易云 - ubuntu上安装boost库为SOMEIP的X86和ARM下编译做准备(编译两种版本)
以上就是在Ubuntu上安装Boost库并为SOME/IP的X86和ARM架构编译做准备的全部步骤。
365 0
|
Swift Perl
OC和swift混合工程更新库时报:target has transitive dependencies that include statically linked binaries
OC和swift混合工程更新库时报:target has transitive dependencies that include statically linked binaries
689 0
|
Swift
use_frameworks引起的Undefined symbols for architecture arm64
use_frameworks引起的Undefined symbols for architecture arm64
398 0
|
iOS开发
部分库不支持32位系统archive报错:Undefined symbols for architecture armv7
部分库不支持32位系统archive报错:Undefined symbols for architecture armv7
270 0
|
开发工具 iOS开发 Perl
mac电脑升级到10.15.7含有支付宝SDK的组件更新报错:AlipaySDK.framework/AlipaySDK for architecture arm64
mac电脑升级到10.15.7含有支付宝SDK的组件更新报错:AlipaySDK.framework/AlipaySDK for architecture arm64
483 0
|
开发工具 Swift iOS开发
Swift学习第二练——Swift项目时光电影
Swift学习第二练——Swift项目时光电影
281 0
Swift学习第二练——Swift项目时光电影
|
Unix 调度 Swift
苹果iOS新手开发之Swift 中获取时间戳有哪些方式?
在Swift中获取时间戳有四种常见方式:1) 使用`Date`对象获取秒级或毫秒级时间戳;2) 通过`CFAbsoluteTimeGetCurrent`获取Core Foundation的秒数,需转换为Unix时间戳;3) 使用`DispatchTime.now()`获取纳秒级精度的调度时间点;4) `ProcessInfo`提供设备启动后的秒数,不表示绝对时间。不同方法适用于不同的精度和场景需求。
1211 3

热门文章

最新文章

相关课程

更多