2010-09-28 28 views
-4

如果我想关联以下对象和库用C链接,使用gcc

p.o → libx.a → p.o 

凡→b表示是b定义了一个由一个被引用的符号。

UNIX% gcc p.o libx.a 

足以在命令行或做我需要做的是这样的:

UNIX% gcc p.o libx.a p.o 

感谢。

+4

你试过了吗?你得到了什么错误(如果有的话)? – abelenky 2010-09-28 22:54:00

+16

什么是人们害怕测试的东西?你有一台电脑(和一个编译器,以及所有相关的代码)在那里!它可以工作,也可以不工作。如果没有,错误信息通常会告诉你为什么。 – cHao 2010-09-28 22:59:22

+0

我会说,通常不好的做法是有循环依赖 - 这就是你所拥有的。 – Beano 2010-09-29 10:05:53

回答

1

对于记录:如果你使用GNU链接,为您提供完美的解决方案是:

gcc -Wl,--start-group p.o libx.a -Wl,--end-group