Linux   发布时间:2022-04-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Linux环境下构建32位和64位应用程序(C)大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

我正在寻找有关如何为需要针对32位和64位架构进行编译的Linux应用程序设置构建机器的建议.据我所知,我需要一个64位操作系统,它可以构建32和64.添加-m32标志将产生32的正确输出,这里没有挑战.主要问题是图书馆.我不确定如何继续......我怎样才能确保链接器使用32位版本的简单库,例如ldl,lz,lrt?我知道我必须安装所有这些版本的32位版本

我正在寻找有关如何为需要针对32位和64位架构进行编译的Linux应用程序设置构建机器的建议.

据我所知,我需要一个64位操作系统,它可以构建32和64.添加-m32标志将产生32的正确输出,这里没有挑战.

主要问题是图书馆.我不确定如何继续……我怎样才能确保链接器使用32位版本的简单库,例如ldl,lz,lrt?我知道我必须安装所有这些版本的32位版本,然后配置链接器路径.

一个问题是编译器,链接器,libc等版本.@R_26_10675@用最旧的版本,以确保所有客户端都能正常运行吗?我的意思是,如果我在最新的Debian中构建应用程序,在较旧的Debian中,它将无法正常工作,对吗?

谢谢您的帮助!

最佳答案
大多数具有64位版本的linux版本也构成32位版本,几乎所有库都可用于这两种版本,因此您需@L_675_8@的就是将相关的32位库与64位版本并行安装.在大多数情况下,路径的配置与纯64或32位构建没有什么不同.可能有一些库有问题,但你真的需要去寻找那些.所有主流数据包都将具有可同时安装32位和64位库版本的库.

当谈到“哪个libc”等时,这是一个更难的问题,因为它真的取决于你的客户在他们的机器上有什么 – 而且你不太可能要求他们应该使用Debian,RedHat或SuSE之一 – 他们会非常强烈地使用他们正在使用的任何东西.使用“太旧”库与使用“太新”库一样糟糕.通常的解决方案是构建多个版本,一个用于选定的RedHat版本(并且应该使用几个较新/较旧版本的步骤,通常,以及相同范围内的Fedora版本),Debian版本,以及一个SuSE版本,也许还有一两个发行版.

是的,此时,您可能想要在其上设置一个包含几个虚拟机的构建计算机,这样您就不必拥有3个,5个或12个物理计算机.

大佬总结

以上是大佬教程为你收集整理的Linux环境下构建32位和64位应用程序(C)全部内容,希望文章能够帮你解决Linux环境下构建32位和64位应用程序(C)所遇到的程序开发问题。

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

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