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
然后这里就可以编译了
静态库还算简单吧!!!
在这里就需要先把你的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
然后这里就可以编译了
静态库还算简单吧!!!
相关文章推荐
- Linux下VMware虚拟机网卡不能运行在混杂模式解决办法
- Linux简单命令之三
- linux => linux 安装java
- linux系统间文件传输命令--scp
- linux上安装spark1.0.0
- linux进程间通信-----System V消息队列总结实例
- CentOS安装arm-linux-gcc交叉编译器
- Linux——Linux 文件基本操作
- Linux——Linux 文件系统基本结构
- linux => Linux下的Notepad++编辑器——Notepadqq
- 在CentOS下,搭建单节点以及集群spark
- linux 下core文件的设置
- centos安装lxml和pyspider
- CentOS6.5下用yum安装 git .
- CentOS6.6下配置KMS自动激活服务器虚拟机简化配置
- linux安装PHP环境
- 为Linux应用构造有限状态机
- linux环境下的线程的创建问题
- Linux命令:时间,用户及系统常用基础总结
- Linux中查看是否有nvdia的显卡