[Makefile应用] --- Makefile编译动态库并使用

Posted Overboom

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[Makefile应用] --- Makefile编译动态库并使用相关的知识,希望对你有一定的参考价值。

0. 引言

本篇blog写作的目的:

  1. 生一个项目中成一个简单的动态库
  2. 在另一个项目中使用这个简单的动态库

开发环境:Ubuntu1804
开发语言:C++
重点的Makefile的使用

1. 静态库/动态库的基本知识

不管是 Linux 还是 Windows 中的库文件其本质和工作模式都是相同的,只不过在不同的平台上库对应的文件格式和文件后缀不同。程序中调用的库有两种 静态库和动态库,不管是哪种库文件本质是都是二进制的源文件。

在项目中使用库一般有两个目的,一个是为了使程序更加简洁不需要在项目中维护太多的源文件,另一方面是为了源代码保密,毕竟不是所有人都想把自己编写的程序开源出来。

当我们拿到了库文件(动态库、静态库)之后要想使用还必须有这些库中提供的 API 函数的声明,也就是头文件,把这些都添加到项目中,就可以快乐的写代码了。

2. 在一个项目中生成.so文件

本项目以计算器为示例,包括4个.c文件,以及一个头文件,目录结构如下:
add.c


                

以上是关于[Makefile应用] --- Makefile编译动态库并使用的主要内容,如果未能解决你的问题,请参考以下文章

[Makefile应用] --- Makefile编译动态库并使用

Makefile简介

Linux虚拟机下makefile的编写应用

Makefile应用之Complicated工程

在linux系统应用make命令时,makefile 与makefile有何区别

RealEvo IDE专家模式下应用工程MakeFile的修改