我想以分层方式链接三个文件.
// a.c
int fun1(){...}
int fun2(){...}
// b.c
extern int parameter;
int fun3(){...//using parameter here}
// main.c
int parameter = 1;
int main(){...// use fun1 fun2 fun3}
Run Code Online (Sandbox Code Playgroud)
所以,我先将三个文件分别编译成目标文件a.o
,b.o
然后main.o
.然后我想结合a.o
并b.o
进入另一个目标文件tools.o
.并最终使用tools.o
并main.o
生成可执行文件.
但是,当我尝试结合a.o
并b.o
喜欢时ld -o tools.o a.o b.o
,链接器说undefined reference to 'parameter'
.我怎么能将这些目标文件链接到一个中间目标文件?