文档章节

linux一个静态库(.a)如何链接另外一个静态库(.a)

shezjl
 shezjl
发布于 2015/05/04 20:00
字数 319
阅读 31
收藏 0

1.不用链接

假如有两个.a   libx.a 里面需要调用liby.a的接口函数

那么,
将代码编译生成libx.a的时候,不需要liby.a的,只需要y里面的头文件即可

但是,当给调用者使用libx.a的时候,必须都加上去,也就是-lx -ly,   不能够只有-lx

(而且注意顺序,-ly -lx都不行)

2.合并两个静态库

如果你非要将两个库链接成一个库,可以合并这两个库变成一个新库。

有一个办法 就是 把第二个.a文件ar -x 编程.o 文件 
然后把第一个.a文件也ar -x 编程.o文件
然后ar -c 把所有的.o文件打包起来

将两个库合并为一个,其实就是解开,获得所有的.o,然后再打包,这种方法当然也适合多个。

1 ar -x libabc.a
2 ar -x libxyz.a
3 ar -c libaz.a  *.o

如何向一个.a中追加.o

1 ar rcs libabc.a *.o

2012.3.1更新:

其实搞复杂了,最简单的还是解压出各种.o,然后再合并:

1 ar x <library name 1>
2 ar x <library name 2>
3 ......
4 ar cs <new library name> <list each extracted object file>


© 著作权归作者所有

shezjl
粉丝 10
博文 123
码字总数 38143
作品 0
成都
程序员
私信 提问
Linux 动态库与静态库制作及使用详解

Linux 应用开发通常要考虑三个问题,即:1)在 Linux 应用程序开发过程中遇到过标准库链接在不同 Linux 版本下不兼容的问题; 2)在 Linux 静态库的制作过程中发现有别于 Windows 下静态库的...

IBMdW
2011/11/07
4.4K
0
技巧:Linux 动态库与静态库制作及使用详解

两个要知道的基本知识 Linux 应用程序因为 Linux 版本的众多与各自独立性,在工程制作与使用中必须熟练掌握如下两点才能有效地工作和理想地运行。 Linux 下标准库链接的三种方式(全静态 , ...

澈明
2012/03/31
258
0
Linux动态库和静态库比较

Linux动态库和静态库比较文件预览 文件目录树如下,如你所见,非常简单。 1. libtest/ 2. |-- lt.c 3. |-- lt.h 4. `-- test.c #lt.c 1. 4. 5. #include 6. 7. void myprint(void) 8. { 9. p...

晨曦之光
2012/03/09
208
0
GCC中同时使用动态和静态库链接的编译

如何同时同时使用动态和静态库链接,在GCC指令参数中具体参数如下: -Wl,-Bstatic -L/usr/local/sqlite-arm-linux/.libs -lsqlite -Wl,-Bdynamic -L/usr/local/arm/3.3.2/lib 具体用途解释:...

晓亮1210
2013/10/30
3.9K
1
关于Linux静态库和动态库的分析

1.什么是库 在windows平台和linux平台下都大量存在着库。 本质上来说库是一种可执行代码的二进制形式,可以被操作系统载入内存执行。 由于windows和linux的本质不同,因此二者库的二进制是不...

YACHE
2011/07/04
115
0

没有更多内容

加载失败,请刷新页面

加载更多

rime设置为默认简体

转载 https://github.com/ModerRAS/ModerRAS.github.io/blob/master/_posts/2018-11-07-rime%E8%AE%BE%E7%BD%AE%E4%B8%BA%E9%BB%98%E8%AE%A4%E7%AE%80%E4%BD%93.md 写在开始 我的Arch Linux上......

zhenruyan
今天
5
0
简述TCP的流量控制与拥塞控制

1. TCP流量控制 流量控制就是让发送方的发送速率不要太快,要让接收方来的及接收。 原理是通过确认报文中窗口字段来控制发送方的发送速率,发送方的发送窗口大小不能超过接收方给出窗口大小。...

鏡花水月
今天
10
0
OSChina 周日乱弹 —— 别问,问就是没空

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @tom_tdhzz :#今日歌曲推荐# 分享容祖儿/彭羚的单曲《心淡》: 《心淡》- 容祖儿/彭羚 手机党少年们想听歌,请使劲儿戳(这里) @wqp0010 :周...

小小编辑
今天
1K
11
golang微服务框架go-micro 入门笔记2.1 micro工具之micro api

micro api micro 功能非常强大,本文将详细阐述micro api 命令行的功能 重要的事情说3次 本文全部代码https://idea.techidea8.com/open/idea.shtml?id=6 本文全部代码https://idea.techidea8....

非正式解决方案
今天
5
0
Spring Context 你真的懂了吗

今天介绍一下大家常见的一个单词 context 应该怎么去理解,正确的理解它有助于我们学习 spring 以及计算机系统中的其他知识。 1. context 是什么 我们经常在编程中见到 context 这个单词,当...

Java知其所以然
昨天
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部