【发布时间】:2014-06-19 14:56:20
【问题描述】:
我的平台是intel xeon系统下的RHEL 4.6。我的编译器是 gcc 4.2。所有应用程序都是使用 C 开发的。
让我们假设我有一个例程 ( A ),我在其中进行调用,它包含在库 L 中。现在我使用静态链接库 L 与我的例程 A 创建了一个新库。让我们将此新库称为N.
现在有 3 个不同的应用程序,分别称为 X、Y 和 Z。所有 3 个应用程序都需要与新库 N 链接。
我尝试将这 3 个应用程序与库 N 链接(静态)。但是在链接时,如果我不包含 L,为什么编译器会再次给出链接错误。我当时已经包含了 L做N的原因。为什么还要单独期望L。
【问题讨论】:
-
我读到了这个link,它通过链接、制作。 (也许会有所帮助)简而言之,所有构建步骤都需要存在(并引用)要链接的文件。如果使用一个,则在运行时只需要存在 .dll(即,那时不再需要静态库)
-
谢谢 ryyker 和 wojciii