linux64编译32程序记录

linux64编译32程序记录 - 赤色 - 博客园

inux64编译32程序记录

最近在centos 64上编译板子上的32位程序,遇到几个问题,在此记录。

1#首先是编译后运行,总是段错误 ,dbg也没出什么东西。

复制代码
  段错误 (core dumped)
复制代码

在代码里面看了半天,也没查到啥资料,睡了觉起来突然觉得可能是里面类型长度的问题。

2#查资料说要在gcc编译加 参数 -m32,新的错出来了:

复制代码
  错误:gnu/stubs-32.h:没有那个文件或目录
复制代码

在找资料,说是缺东西,那就安呗

复制代码
  yum install glibc-devel
复制代码

错误依旧,再装

复制代码
  yum install glibc-devel.i686
复制代码

新的错

复制代码
  /usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-redhat-linux/4.4.6/libgcc_s.so when searching for -lgcc_s
  /usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-redhat-linux/4.4.6/libgcc_s.so when searching for -lgcc_s
  /usr/bin/ld: cannot find -lgcc_s
复制代码

网上说还是缺东西,继续装

复制代码
  yum install glibc-devel.i686 libgcc.i686
复制代码

终于,不报错了,可是还是“段错误”,没办法,继续看代码,最终还是找到了那只小"bug",尽管好像前面一直都没找对问题的症结,但总归知道了怎么centos 64上编译32位程序

原文地址:https://www.cnblogs.com/lexus/p/3277269.html