Linux下c/c++的动态库、静态库制作和使用,并供python调用

基本概念我就不介绍了,网上有很多资料大家可以参考,我这里主要介绍工程实现。起初是因为买的摄像头涉及到二次开发,然后对方只给了一个静态库(.a文件)和一个头文件(.h),然后提供了一个说明文档,让我自己去开发,最开始还以为很简单,结果中途遇到各种问题。

1、静态库信息
首先,c语言生成的静态库(.a文件)和c++生成的静态库(.a文件)有点不一样,例如c调用c++生成的静态库和c++调用c++生成的静态库,过程会有细微的差别,这个大家可以查一下。所以对于拿到的第三方静态库,可以使用一下命令查看其相关信息:

#列出静态库(.a文件中)包含的所有.o文件及其对应的函数
nm -C *.a	#-C的作用为输出符号重组过的函数名的原始名称

#列出.a文件中的所有.a文件,并显示来源于.cpp还是.c文件,显示的是符号重组后的函数名
readelf -s *.a

例如我手头的静态库用第二个命令后就显示的一些.cpp,表明来源于c++代码。

其次,还要了解该静态库所属平台,因为跨平台是没办法使用的,比如我手头的静态库是在x86_64下生成的,我直接拿到jetson nx上用,就会提示错误:/usr/bin/ld: skipping incompati

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值