64位 linux操作系统下如何编译和运行32位源码

1. 安装需要的库

X86_64 的 Redhat / Centos / Scientific 下面,若要编译、运行32位程序,需要安装以下包:

yum install libgcc.i686
yum install glibc-static.i686
yum install glibc-devel.i686

2. 编译器需要添加选项

gcc -m32 -c qljt.c

qljt.c 就会以32bit 的模式编译了,。

3. 链接的时候有时候会提示没有 -lstdc++

原因: 其实就是 stdc++ 的版本不对;

解决办法:
 1、执行命令: yum whatprovides libstdc++.so.6
 
然后会提示哪个安装包有这个库文件如下:
 
[root@localhost ~]# yum whatprovides libstdc++.so.6
 Loaded plugins: aliases, changelog, downloadonly, fastestmirror, kabi, presto, refresh-packagekit, security, tmprepo, verify,
              : versionlock
 Loading support for CentOS kernel ABI
 Loading mirror speeds from cached hostfile
  * base: centos.ustc.edu.cn
  * centosplus: centos.ustc.edu.cn
  * contrib: centos.ustc.edu.cn
  * extras: centos.ustc.edu.cn
  * updates: centos.ustc.edu.cn
 libstdc++-4.4.7-3.el6.i686 : GNU Standard C++ Library
 Repo        : base
 Matched from:
 Other      : libstdc++.so.6[root@localhost app]# yum whatprovides libstdc++.so.6
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirrors.opencas.cn
 * extras: mirrors.pubyun.com
 * updates: mirrors.skyshe.cn
libstdc++-4.8.5-4.el7.i686 : GNU Standard C++ Library
Repo        : base
Matched from:
Provides    : libstdc++.so.6

2、然后执行:

 [root@localhost app]# yum install libstdc++-4.8.5-4.el7.i686
--------------------- 

ubuntu环境参考

https://blog.csdn.net/XscKernel/article/details/38045783

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值