静态链接错误

时间:2014-06-19 14:56:20

标签: c linux static linker

我的平台是intel xeon系统下的RHEL 4.6。我的编译器是gcc 4.2。所有应用程序都是使用C开发的。

让我们假设我有一个例程(A)我正在进行调用,它包含在Library L中。现在我使用静态库L与我的例程A建立了一个新的库。让我们将这个新库称为N.

现在有3种不同的应用程序称为X,Y和Z.所有3个应用程序都需要与新的库N链接。

我试图将这三个应用程序(静态地)链接到库N.但是在链接时为什么如果我不包含L,编译器会再次给出链接错误。我当时已经包含了L制作N.仍然为什么它会单独期待L。

1 个答案:

答案 0 :(得分:0)

它仍然需要构建库。仅仅因为你建立N并不意味着它把L放入其中。它只是对它的引用。它仍然需要L来获得正在运行的可执行文件。顺便说一句,构建依赖于其他库(至少是其他静态库)的库并不是一个好主意。