Linux   发布时间:2022-04-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了编译许多Linux发行版大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

简而言之,我将发布一个用OCaml编写的应用程序,我计划通过源代码分发它. 问题是OCaml开发系统不是轻便的,也不是很常见的安装,因此我想以二进制方式为各种操作系统发布它. > Windows没有问题,因为我可以通过cygwin编译它并使用所需的dll进行分发 > OS X也不是问题,因为我可以编译它并轻松地分发它(没有我尝试过的外部依赖) 到达Linux时出现问题,因为我不知道编译和分发它的最
简而言之,我将发布一个用OCaml编写的应用程序,我计划通过源代码分发它.

问题是OCaml开发系统不是轻便的,也不是很常见的安装,因此我想以二进制方式为各种操作系统发布它.

> Windows没有问题,因为我可以通过cygwin编译它并使用所需的dll进行分发
> OS X也不是问题,因为我可以编译它并轻松地分发它(没有我尝试过的外部依赖)

到达Linux时出现问题,因为我不知道编译和分发它的最佳方法是什么.程序本身不依赖于任何东西(一切都是静态链接),但如何涵盖许多发行版?

我有一个使用amd64架构虚拟化的ubuntu服务器10,我使用这台机器在Linux下测试程序,一切正常.当然,如果我试图将二进制文件移动到32位ubuntu它停止工作,我无法尝试不同的发行版…是否有技巧来管理这种问题? (似乎反复出现)

例如:

>我可以从同一台机器编译32位和64位吗?
>在ubuntu下编译的二进制文件也会在其他发行版上运行吗?
>在想要尽可能多地发行发行版时,我应该考虑哪些“分支机构”?

解决方法

>您通常可以相对轻松地在64位机器上生成64位和32位二进制文​​件 – 即,分发通常在其编译器包中具有适当的支持,您实际上可以测试您的构建.请注意,操作系统也需要64位,而不仅仅是cpu. >静态二进制文件通常在任何地方运行,只要内核和cpu提供足够的支持 – 请密切关注您的编译器选项以确保这一点.它们是兼​​容性的最佳选择.共享库可能是个问题.为了解决这个问题,可以将与共享库链接的二进制文件与这些库捆绑在一起,并在必要时使用加载器脚本运行. >你应该至少使用dpkg软件包定位Debian / Ubuntu,使用RPM重新定位Redhad / Fedora / Mandriva,再使用RPM重置SUSE / OpenSUSE(我分别提到这两个RPM案例,因为您可能需要为这些“系列”分发生成单独的软件包).您还应该为其余部分提供.tar.bz2或.run安装程序. >您可以查看例如提供的选项. Oracle for Java和VirtualBox看看他们如何提供自己的软件.

大佬总结

以上是大佬教程为你收集整理的编译许多Linux发行版全部内容,希望文章能够帮你解决编译许多Linux发行版所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: