Linux 静态库链接测试(.a)(静态库路径export LIBRARY_PATH测试)
Posted Dontla
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux 静态库链接测试(.a)(静态库路径export LIBRARY_PATH测试)相关的知识,希望对你有一定的参考价值。
做个测试,把add.c编译打包成静态库,给main.c链接:
- main.c
#include <stdio.h>
#include <add.h>
int main()
int result = add(1, 2);
printf("result = [%d]\\n", result);
return 0;
- add.h
#include <stdio.h>
#include <add.h>
int add(int a, int b)
return a+b;
- add.h
int add(int a, int b);
- 命令
将add.c编译成add.o
gcc -c add.c -o add.o -I./
将add.o打包成libadd.a
ar rcs -o libadd.a add.o
编译main.,c,链接libadd.a,输出a.out
gcc main.c -I./ -L./ -ladd
#或
gcc main.c -I./ libadd.a
#或
gcc main.c -I./ -ladd # libadd.a在当前目录下
#或
gcc main.c -I./ -ladd # libadd.a不在当前目录下,需先export LIBRARY_PATH=xxx,echo $LIBRARY_PATH查看对不对
参考文章:【C语言】静态链接库文件(.a)和object文件(.o)区别
以上是关于Linux 静态库链接测试(.a)(静态库路径export LIBRARY_PATH测试)的主要内容,如果未能解决你的问题,请参考以下文章