linux静态库的打包及链接使用

功能说明:建立或修改备存文件,或是从备存文件中抽取文件。
  语  法:ar[-dmpqrtx][cfosSuvV][a《成员文件》][b《成员文件》][i《成员文件》][备存文件][成员文件]
  补充说明:ar可让您集合许多文件,成为单一的备存文件。在备存文件中,所有成员文件皆保有原来的属性与权限。
  参  数:
  指令参数
  -d  删除备存文件中的成员文件。
  -m  变更成员文件在备存文件中的次序。
  -p  显示备存文件中的成员文件内容。
  -q  将问家附加在备存文件末端。
  -r  将文件插入备存文件中。
  -t  显示备存文件中所包含的文件。
  -x  自备存文件中取出成员文件。
  选项参数
  a《成员文件》  将文件插入备存文件中指定的成员文件之后。
  b《成员文件》  将文件插入备存文件中指定的成员文件之前。
  c  建立备存文件。
  f  为避免过长的文件名不兼容于其他系统的ar指令指令,因此可利用此参数,截掉要放入备存文件中过长的成员文件名称。
  i《成员文件》  将问家插入备存文件中指定的成员文件之前。
  o  保留备存文件中文件的日期。
  s  若备存文件中包含了对象模式,可利用此参数建立备存文件的符号表。
  S  不产生符号表。
  u  只将日期较新文件插入备存文件中。
  v  程序执行时显示详细的信息。
  V  显示版本信息。

 

静态库打包

ar -cr .a静态库名  .o文件名

例子:make lib

.PHONY: lib
lib_t: src0.o src1.o src2.o
    ar -rc object.a src0.o src1.o src2.o
    ranlib object.a

 

链接静态库

头文件路径:-I./include/
静态库路径:-L./lib/
静态库名称:-l:object.a

g++ main.o -o a.out -L./lib/ -l:object.a

注:如果静态库a调用静态库b,g++编译命令中a一定要放在b前面

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值