我正在发布一个多平台库,除了Linux之外它在任何地方都可以使用。可能有办法做我需要的,但我没有看到它,希望有人可以提供帮助。
我的库包含两个项目,Windows上的“subLibrary.lib”和“library.lib”(例如)。我建立'subLibrary'然后将其链接到'library'进行分发。消费者只需要与“图书馆”链接即可获得所有内容,包括“子图书馆”中的内容。
每个其他平台的工作原理相同 - 我发布了一个巨大的'library.a',其中包含所有内容和消费者与之链接的内容,而不必了解任何较低级别的依赖项。
在Linux上构建标准可执行文件时,我的链接命令不仅要指定'library.a',还要指定 每个 依赖项。这是因为中间库将符号保留为未解决的状态。
我想要做的是使其与其他平台相同,因此消费可执行文件只需链接'library.a',该库包含所需的一切。
我知道这会使库变大,但这是确保依赖解析和为每个人构建时间的唯一方法。
答案 0 :(得分:0)
在unix上,库只是所有目标文件的集合。您可以使用AR向库中添加更多文件,但是您需要注意文件名冲突。