当Linux静态库含有依赖关系时,事情就变得有些棘手了。
下面是举例,假设用户目录下的工程目录如下:
~
├─p1
│ p1.c
│ p1.h
│
├─p2
│ p2.c
│ p2.h
│
└─ptest
test.c
三个目录p1、p2、ptest,分别有源文件p1.c、p2.c、test.c 分别代表着三个工程。其中,ptest调用p2中的函数,p2又调用p1中的函数。
下面贴出源文件的内容:
p1:
//p1.h
void myprint(void);
//p1.c
#include<stdio.h>
void myprint(void)
{
printf("I am p1's a.\n");
}
p2:
//p2.h
void myprint2(void);
//p2.c
#include<stdio.h>
#include"../p1/p1