首页 > 其他 > 详细

gcc静态动态库编译

时间:2015-08-03 20:44:41      阅读:250      评论:0      收藏:0      [点我收藏+]

centos5.8,g++4.1.2

 最近操作比较多,小小笔记下

静态库,动态库编译和链接

//1.DynamicMath.h

class DynamicMath
{
public:

static double add(double a, double b);
static double sub(double a, double b);

void print();
};

//2.DynamicMath.cpp

#include "DynamicMath.h"
#include <iostream>
using std::cout;
using std::endl;

double DynamicMath::add(double a, double b)
{
return a+b;
}

double DynamicMath::sub(double a, double b)
{
return a-b;
}
void DynamicMath::print()
{
cout<<"DynamicMath"<<endl;
}

//3.main.cpp

#include <iostream>
using namespace std;

#include "DynamicMath.h"

int main()
{
double a = 10;
double b = 2;

cout<<"a + b= "<<DynamicMath::add(a, b)<<endl;
cout<<"a - b= "<<DynamicMath::sub(a, b)<<endl;

DynamicMath dy;
dy.print();

return 0;
}

 

//4.makefile

all: main smath smain dmath dmain

main:
g++ -o main main.cpp DynamicMath.cpp

smath:
g++ -c DynamicMath.cpp
ar -rsv libsmath.a DynamicMath.o

smain:
g++ -o smain main.cpp -L./ -lsmath

dmath:
g++ -fPIC -shared -o libdmath.so DynamicMath.cpp

dmain:
g++ -o dmain -L./ -ldmath main.cpp -Wl,-rpath ./

clean:
rm -f *.o
rm -f *.a
rm -f *.so
rm -f main
rm -f smain
rm -f dmain

gcc静态动态库编译

原文:http://www.cnblogs.com/optao/p/4700114.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!