第三方静态库的打包方法

本文介绍了如何在打包静态库或动态库时,将依赖的第三方静态库链接进来,以避免业务对依赖库的感知。内容包括工程目录结构、静态库和动态库的打包方法,重点解析了GCC/LD的编译链接规则,并提供了相应的编译和链接命令示例。通过正确处理库的顺序和使用-fPIC选项,确保静态库和动态库的正确构建。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

静态库打包发布方法

已经提供了一个动态库(.so)或静态库(.a)给其它业务使用,而发布的这个库额本身又依赖了其它的一些第三方库。但是,我们期望业务对这些依赖库无感知,依赖库的变化和增加对业务的编译无影响。即,需要实现在发布动态库(.so)或静态库(.a)的时候把依赖的第三方静态库链接进来。
针对发布动态库(.so)和静态库(.a)时的打包链接第三方依赖库的方法,

工程目录结构

.
├── include
│   ├── testa.h
│   ├── testb.h
│   └── testc.h
├── main.cpp
├── testa.cpp
├── testb.cpp
└── testc.cpp
// testc.h
#pragma once
void testc();

// testc.cpp
#include "include/testc.h"
#include <stdio.h>

void testc()
{
   
    printf("testc zte_printf_s = %s!\n", "success");
}
// testa.h
#pragma once
void testa();

// testa.cpp
#include "include/testa.h"
#include "include/testc.h"
#include <stdio.h>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值