您的位置:首页 > 运维架构 > Linux

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

2015-12-17 22:20 429 查看
在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

然后这里就可以编译了

静态库还算简单吧!!!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: