Nginx链接自定义静态库

1.准备静态库

1.1 编译静态库

使用gcc将源代码编译为目标文件

1
2
3

gcc -c test.c

-c选项只编译不链接,生成目标对象文件,编译成功会生成test.o文件,接着对test.o文件进行打包

1.2 打包静态库

使用ar命令将test.o打包为静态库文件

1
2
3

ar -crv libtest.a test.o

在定义静态库文件文件名时,需要遵从命名规则。

2.配置静态库

将生成的libtest.a 复制到/usr/lib64目录下,如有头文件,则复制到/usr/include目录下

3.修改Nginx编译脚本

在auto/unix脚本中修改变量CORE_LIBS的值

1
2
3

CORE_LIBS ="$CORE_LIBS -ltest"

4. 使用第三方开发库

4.1 安装第三方开发库

1
2
3

yum -y install xxx xxx-devel

安装成功后,在/usr/include/目录下能找到相应的头文件,在/usr/lib64/目录下能找到类似于libxxx.so的文件

4.2 在源码中包含第三方库的头文件,就可以使用相应的函数了

4.3 修改Nginx编译脚本

在auto/unix脚本中修改变量CORE_LIBS的值

1
2
3

CORE_LIBS ="$CORE_LIBS -lxxx"