【问题标题】:How do I build and link external cross platform libraries in C?如何在 C 中构建和链接外部跨平台库?
【发布时间】:2023-03-31 04:25:02
【问题描述】:

我对 C 语言比较陌生,我正在制作一个我希望跨平台的项目。我想使用一个已经发誓要跨平台的外部库。我想知道如何将它包含在我的项目中?

据我所知,我有两个选择。在我希望使用的每个平台上预先构建库,然后处理在我的构建过程中链接的库(不是非常独立于平台)。或者我可以包含该库的整个源代码并将其与我的项目一起构建。

这些是我处理跨平台库的唯一选择吗?也许我还不明白这个过程是如何完全运作的,所以任何帮助都会很棒!

(PS 我正在使用 CMake 来构建我的项目。)

谢谢!

【问题讨论】:

    标签: c build linker cross-platform


    【解决方案1】:

    有几个因素及其组合可能会影响答案。

    • 外部库可以是静态的或共享的。
    • 该版本用于内部测试或发布。
    • 带有autoconf东西的应用程序源代码被分发或二进制应用程序被分发。
    • 带有自己的autoconf东西的外部库源代码被分发或二进制共享库被分发。

    当您想要分发二进制应用程序时,最好使用静态外部库。在这种情况下,您只有上面写的选项。您可以为每个平台预先构建库,也可以将库构建合并到您的构建过程中。

    如果外部库和应用程序是开源的,并且它们与自己的 autoconf 一起分发,那么您不需要分发外部库,您只需添加 autoconf 依赖项即可。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-08-14
      • 2021-06-26
      • 1970-01-01
      • 1970-01-01
      • 2011-07-11
      • 2015-12-25
      • 1970-01-01
      相关资源
      最近更新 更多