linux64位机器编译32位程序出现错误。

linux64位机器编译32位程序出现错误。,第1张

32 和 64 是完全两个不同的系统。Linux 他们的兼容,完全是基于内核的双模式切换功能,但是因为是基于内核的。所以 32 和 64 的系统函数库就还是没关系。

那么,你编译和运行 32 位程序,就需要 64 位的函数库接口支撑。同样 64 位程序,也需要 64 位的函数库提供支撑。

你这个问题,教程只让你装了最基本的编译器环境,但是函数支撑环境全都没有装,肯定是还会提示找不到需要的函数库的。

另外,就算你这个命令装了需要的函数库,也肯定只是装了 64 位的函数库,32 位库也没有装。那么编译 32 位程序也会出现找不到 32 位函数库的问题的。

你这个问题,我建议你学习两部分:

1、Linux 的依赖关系;

2、Linux 的 mutilib 相关实现。

我建议,编译 32 的程序请用纯 32 位系统。64 位系统只编译 64 位的程序。64 位系统只可以运行 32 位程序,不要用来编译。Linux 里面随便找个程序,就会依赖很多的函数库,这对于编译器调用来说,会很乱的。

如果真的没有空闲机器去单独跑 32 位系统了,我建议要么是 chroot 环境,要么是用交叉编译。不过注意这两种方式还是需要设置。

怀疑启动顺序不对。

虚拟机开机按F2,进BIOS设置启动顺序。因为虚拟机的开机画面通常是一闪而过,所以,在虚拟机的电源那有一个选项“power on to bios”。建议需要进入BIOS时用这个选项来开机。

进入BIOS后,使用键盘上的上下左右来移动光标。 先进入"boot"选项,然后按+或-来调整启动顺序。

选中CD-Rom后按+,直到把CDROM移动到第一位。然后按右键切到 "EXIT",一般第一项是保存并退出。就选它。

然后会重启,如果之前你已经设置了使用iso镜像文件,且镜像文件是可启动的,则虚拟机会自动进入安装界面。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/8757222.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-20
下一篇 2023-04-20

发表评论

登录后才能评论

评论列表(0条)

保存