0

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

所以我主要(仅?)看到的是 Windows 使用 DLL 和其他平台每个使用不同的文件。

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

对多个问题感到抱歉,但回答一个问题会使其他问题无效。

4

2 回答 2

1

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

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

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

不幸的是,我不知道有任何其他选择。

于 2013-09-30T23:17:34.427 回答
0

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

于 2013-09-30T22:50:47.660 回答