【问题标题】:Cross Platform Library with one file for all跨平台库,一个文件供所有人使用
【发布时间】:2013-09-30 22:44:10
【问题描述】:

有没有办法编译一个跨平台库以使用单个文件在所有平台上工作?

所以我主要(仅?)看到的是 Windows 使用 DLL,而其他平台各自使用不同的文件。

为什么这些没有标准化?是否有可以替代使用的标准格式?如果不是,这可以伪造吗?

很抱歉有多个问题,但回答一个问题会使其他问题无效。

【问题讨论】:

    标签: c++ dll cross-platform libraries


    【解决方案1】:

    库包含编译后的代码,这实际上是特定于平台架构的。由于大玩家之间在机器架构上没有标准协议,不幸的结果是库不能跨平台移植。

    最好的办法是开源代码,让用户在自己想要的平台上编译代码。

    第二个最佳选择是采用 Java 方式。以包含类文件的 jar 文件的形式分发您的库。并让用户为他们的平台安装正确的 JRE。

    很遗憾,我不知道有任何其他选择。

    【讨论】:

    • 很公平。我想我必须坚持我目前正在做的事情:在每个项目中包含源代码。
    【解决方案2】:

    IDK 为什么目标文件是标准化的(尽管您可以使用 GCC 进行交叉编译 afaik),但目前唯一可行的有保证的跨平台解决方案是源代码(据我所知)。例如 CImg 作为单个头文件 (40kb) 发布,但它有一些依赖项,它需要后端图像处理库/工具链。虽然我不太确定,但也许有跨平台的静态对象格式。

    【讨论】:

      猜你喜欢
      • 2010-10-07
      • 1970-01-01
      • 2020-06-18
      • 2023-03-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-18
      • 1970-01-01
      相关资源
      最近更新 更多