这个方法适合下面的问题
- 合并多个静态库。
- 静态库的多级依赖。
- 静态库级联调用,导致链接错误。
- 。。。。。。
第一步:生成静态库文件
echo CREATE lib-static.a > ar.mac 回车
echo SAVE >> ar.mac 回车
echo END >> ar.mac 回车
ar -M < ar.mac
第二步:加入.o文件至静态库
ar -q lib-static.a api.o
第三步:加入其它库
echo OPEN lib-static.a > ar.mac 回车
echo ADDLIB other-static.a >> ar.mac 回车
echo SAVE >> ar.mac 回车
echo END >> ar.mac 回车
ar -M < ar.mac 回车
如果是在makefile里面用,直接可以如下调用
define BUILD_LIBRARY
$(if $(wildcard $@),@$(RM) $@)
$(if $(wildcard ar.mac),@$(RM) ar.mac)
$(if $(filter %.a, $^),
@echo CREATE $@ > ar.mac
@echo SAVE >> ar.mac
@echo END >> ar.mac
@$(AR) -M < ar.mac
)
$(if $(filter %.o,$^),@$(AR) -q $@ $(filter %.o, $^))
$(if $(filter %.a, $^),
@echo OPEN $@ > ar.mac
$(foreach LIB, $(filter %.a, $^),
@echo ADDLIB $(LIB) >> ar.mac
)
@echo SAVE >> ar.mac
@echo END >> ar.mac
@$(AR) -M < ar.mac
@$(RM) ar.mac
)
endef
$(TargetDir)/$(TargetFileName):$(OBJS)
$(BUILD_LIBRARY)
分享到:
相关推荐
ios平台实现ffmpeg编译,整合armv7和armv7s版静态库
支持x86_64 i386 armv7 armv7s arm64 文件中包含多个cpu架构的静态库,我已经合并到libidn.a 中,使用这一个就可以了
此软件主要将多张jpg图像进行拼接(暂时支持横向...所有需要用到的库都以静态库方式存在于lib路径下。本程序意在创建一个cximage类在linux下使用的环境。 项目路径中含有测试文件1.jpg 2.jpg。程序运行后会生成3.jpg
邮编合并将多个现有Zip文件的内容合并并流式传输为单个文件,而无需重新压缩其中的数据。 如果您经常使用需要收集并发送给客户端的静态内容,这将很有用。 这样,您可以预压缩这些程序包,并即时对其进行组装,无需...
甲板分析试剂盒前提是一个静态代码克隆检测系统(2008年论文),可在代码库中找到语义上相似的代码段“克隆”。 该工具包提供了一组方便的脚本,用于将两个基本代码合并成一个不同的代码库,然后过滤掉同源副本,...
分别编译的静态库可以lipo create armv7 lib libswscale a armv7s lib libswscale a arm64 lib libswscale a output libswscale a 其他 a文件同样合并 还有 sh文件中得DEST是存放三个平台下编译的库文件 ffmpeg库...
ZBar 支持i386 armv6 armv7 armv7s x86_64 arm64 文件中包含多个cpu架构的静态库,我已经合并到libzbar.a中,使用这一个就可以了。
参考MP4box,封装的一个库,支持多线程,视频暂时支持265,音频是aac格式,封装成MP4的一个api静态库,有需要源码可以加我,linux下字节编译即可
将 JDK 的多个存储库合并成一个,简化开发。目前的代码库被分解成了多个库,容易出现源代码的管理问题。 应用程序数据共享,通过跨进程共享通用类的元数据,减少空间占用及启动时长。 线程本地握手,不执行全局 VM...
将 JDK 的多个存储库合并成一个,简化开发。目前的代码库被分解成了多个库,容易出现源代码的管理问题。 应用程序数据共享,通过跨进程共享通用类的元数据,减少空间占用及启动时长。 线程本地握手,不执行全局 VM...
将 JDK 的多个存储库合并成一个,简化开发。目前的代码库被分解成了多个库,容易出现源代码的管理问题。 应用程序数据共享,通过跨进程共享通用类的元数据,减少空间占用及启动时长。 线程本地握手,不执行全局 VM...
用于采样和验证具有一个或多个固定脚的人形 Biped 的库,用于 MoveIt 中的稳定性约束! 包括: 快速稳定性启发式检查 质心、静态稳定性和支持多边形计算。 使用随机数生成智能采样全身位置 为提供一个包装器,允许...
应用程序中的大多数配置都是静态配置的,或者包含复杂的逻辑以从多个源加载。 Go Config使此操作变得容易,可插入和可合并。 您再也不必用相同的方式处理config了。特征动态加载-根据需要从多个源加载配置。 Go ...
1.20 合并多个字典或映射 第二章:字符串和文本 2.1 使用多个界定符分割字符串 2.2 字符串开头或结尾匹配 2.3 用Shell通配符匹配字符串 2.4 字符串匹配和搜索 2.5 字符串搜索和替换 2.6 字符串忽略大小写的...
网页上的链接改为加入网站地址的绝对链接,解决多个网址的SEO问题9.下载时如果没登陆,会自动转向登陆界面10.系统初装不再设置解锁码,您可以在网站设置里修改解锁码11.注册用户,找回密码时连接邮件服务器失败时...
该项目由多个应用程序和子组件组成,这些应用程序和子组件使用作为单独的程序包组织在此存储库中。 用于入站营销平台的静态市场活动登陆页面。 基于WS2框架的本地包共享的Vue.js UI组件库。 适用于AppMarket店面的...
工作空间该项目由多个应用程序和子组件组成,这些应用程序和子组件使用作为单独的程序包组织在此存储库中。用于入站营销平台的静态市场活动登陆页面。基于WS2框架的本地包共享的Vue.js UI组件库。适用于AppMarket...
工作空间该项目由多个应用程序和子组件组成,这些应用程序和子组件使用作为单独的程序包组织在此存储库中。用于入站营销平台的静态市场活动登陆页面。基于WS2框架的本地包共享的Vue.js UI组件库。适用于AppMarket...