开通csdn以来一直都是看别人的blog,今天尝试写自己的blog。
scons相对GNU make来说确实是简单了很多,下面就通过对比学习一下scons。
一、使用make编译c++
下面将有两个直接使用g++编译的例子,这两个例子主要是想说明使用g++编译很麻烦。之后我会使用scons完成这两个例子对应的功能。
1.1 生成静态库
//add.h
#ifndef MYSQLDIR_ADD_H
#define MYSQLDIR_ADD_H
int Add(int a, int b);
double Add(double a, double b);
#endif
//add.cpp
#include "add.h"
#include <iostream>
using namespace std;
int Add(int a, int b)
{
cout <<"Add(int a, int b)" <<endl;
return a + b;
}
double Add(double a, double b)
{
cout <<"Add(double a, double b)" <<endl;
return a + b;
}
上面的代码生成静态库需要如下操作:
(1)g++ -c add.cpp 生成.o文件
(2)ar crv libhello.a add.o 由.o文件创建静态库