makefile之使用自定义静态库
makefile之使用自定义静态库
本文以demo的形式介绍如何将自己编写的静态库链接至项目代码中
目录结构
↑未编译时的目录结构图
↑仅编译生成静态库的目录结构图
↑完全编译后的目录结构图
目录结构说明:
路径 | 说明 |
---|---|
build | 最终生成的elf文件的存放路径 |
inc | 项目代码头文件存放路径 |
src | 项目代码cpp文件存放路径 |
obj | 项目生成的中间产物(.o文件)的存放目录 |
opensource | 静态库相关文件存放目录 |
makefile | 主makefile/外层makefile,用于生成整个项目的最终产物 |
其中
路径 | 说明 |
---|---|
opensource/include | 存放各个静态库的头文件(本demo仅有lhhadd一个静态库,所以仅放了一个头文件) |
opensource/lhhadd | lhhadd这个静态库的源代码路径 |
opensource/lib | 存放生成的静态库文件(.a文件) |
opensource/obj | 存放生成静态库过程中的中间文件(.o文件) |
opensource/makefile | 内层makefile,用于生成静态库文件(.a文件) |
代码说明
#include <iostream>
#include "header.h"
#include "lhhadd.h"
using namespace std;
int main()
{
cout << "main start >>>>>>>>" << endl;
headerFunc();
cout << ladd(2,8) << endl;
cout << "main end >>>>>>>>>>" << endl;
return 0;
}
↑main.cpp