linux下编译静态库和使用静态库

在linux下静态库一般表示为xx.a

在这里就需要先把你的xx.h文件编译成静态库,

比如我这里写了一个文件就是my.h

int foo(int x,int y){

return x+y;

}


这里使用的这个函数的目的就是编译静态库;

首先在编译静态库之前需要把你的my,h编译成my.o文件

这里使用的命令很简单g++ my.h -o my.o

然后现在my.h现在就变成了my.o

然后现在需要把my.o变成my.a

ar rcs libmy.a my.o

这里需要注意的是这里用了在命名lib的时候需要注意的规则,就是在你的文件前面必须添加lib要不然就不会识别;

然后就生成了libmy.a文件

然后cp libmy.a /usr/lib

至于为什么要放在这个文件目录下,是因为这里都是静态库

然后在写一个ax.cpp文件使用my.h

#include"my.h“

#include<iostream>

using namespace std;

int main(){

std::cout<<foo(10,220)<<std::endl;

return 0;

}

这里在编译ax.cpp文件的时候需要编译的命令如下:

g++ ax.cpp -o ax -lmy

然后这里就可以编译了 


静态库还算简单吧!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值