GCC在64位系统上编译32位程序遇到的问题
默认的GCC编译选项会编译出与系统一致的输出,例如64位直接使用gcc或g++编译出的为64位程序或库,而32位系统编译的是对应32位的。
可以通过在编译时添加选项-m32或-m64来指定编译生成的相应版本,如果同时带上这2个选项,只有后一个会生效。
问题的关键时多数时候会提示缺少库,这里以64位下编译32位程序为例,给出ubuntu和centos下相关依赖包。
Ubuntu下依赖包
没什么好说的,安装了这些依赖就能用了
1
|
sudo apt-get install build-essential module-assistant
|
Centos下依赖包
Centos下的包好多名字与ubuntu下都不一样,应该说rpm系与dpkg系通常不一样
1
|
yum install glibc-devel.i686 libstdc++-devel.i686
|
posted on 2019-08-23 09:29 guanxi0808 阅读(1183) 评论(0) 收藏 举报
浙公网安备 33010602011771号