[英]Weak linking a framework to a static library
我的项目安排如下:
静态库将根据GoogleWebRTC框架启动。 不幸的是,这种依赖只能通过WebRTC.org构建为框架。 由于维护原因,他们删除了构建为静态库的功能。
静态库是否可以弱链接到GoogleWebRTC框架?
我想到的一些解决方案是:
include "<WebRTC/WebRTC.h>
起作用。然后将库嵌入并链接到App目标中 对于Google而言,删除静态目标是不幸的决定。
如果有帮助,您可以使用mesibo webrtc框架,该框架是使用修改后的ninja文件构建的静态框架 。 唯一的缺点是,它不像Google构建那样定期更新(通常会延迟一个月的同步)。
https://github.com/mesibo/mesibowebrtcframework
所有你需要做的就是复制WebRTC.framework/WebRTC
使用从mesibo版本,这不过是一个静态库,提取lipo -extract
并使用与自己的库重新包装lipo -create
。
以下是您将在Mesibo和Google版本的WebRTC框架中看到的区别
Mesibo版本
$ file WebRTC.framework/WebRTC
WebRTC.framework/WebRTC: Mach-O universal binary with 4 architectures: [i386:current ar
archive random library] [arm64]
WebRTC.framework/WebRTC (for architecture i386): current ar archive random library
WebRTC.framework/WebRTC (for architecture armv7): current ar archive random library
WebRTC.framework/WebRTC (for architecture x86_64): current ar archive random library
WebRTC.framework/WebRTC (for architecture arm64): current ar archive random library
和谷歌版本
$ file WebRTC.framework/WebRTC
WebRTC.framework/WebRTC: Mach-O universal binary with 4 architectures: [x86_64:Mach-O 64-bit dynamically linked shared library x86_64] [arm64]
WebRTC.framework/WebRTC (for architecture x86_64): Mach-O 64-bit dynamically linked shared library x86_64
WebRTC.framework/WebRTC (for architecture i386): Mach-O dynamically linked shared library i386
WebRTC.framework/WebRTC (for architecture armv7): Mach-O dynamically linked shared library arm_v7
WebRTC.framework/WebRTC (for architecture arm64): Mach-O 64-bit dynamically linked shared library arm64
让我知道您是否需要更多输入!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.