【发布时间】:2011-03-14 17:06:03
【问题描述】:
我已经使用开源库(“fast artificial neural network”)工作了一段时间。我在我的静态库中使用它的源代码。然而,当我编译它时,我收到数百个链接器警告,这可能是由于库在其他 *.c 文件中包含它的 *.c 文件(因为我只包括一些我需要的头文件而我没有触及lib 本身的代码)。
我的问题:图书馆的开发人员是否有充分的理由使用这种强烈反对的方法? (或者至少我一生都被告知这很糟糕,根据我自己的经验,我认为这很糟糕)。还是只是糟糕的设计,这种方法没有任何收获?
我知道this related question,但它没有回答我的问题。我正在寻找可能证明这一点的理由。
一个额外的问题:有没有办法在不过多接触库代码的情况下解决这个问题?我有很多自己的工作,不想创作更多;)
【问题讨论】:
-
链接器错误是否与您调用静态库中的函数有关?您可能想检查是否有公开的公共头文件供应用程序包含。否则静态库可能根本没有用。
标签: c include code-organization