0 前言

使用Ubuntu16.04(64bit)进行嵌入式开发时,默认情况下无法正常运行32位的交叉编译工具链,因此需要安装额外兼容包。

1 运行32位程序

若只是需要在Ubuntu16.04(64bit)中运行32bit程序, 只需要安装libc6:i386即可[3]:

sudo apt-get install libc6:i386

某些程序还需要用到lib32stc++6[4]:

sudo apt-get install lib32stdc++6

此外,还需要用到的库有lib32z1[5]

sudo apt-get install lib32z1

2 开发32位程序

在x64平台上开发32bit程序,还需安装如下库[6]:

sudo apt-get install gcc-multilib g++-multilib

然后编译程序时加上“-m32”参数即可[6]:

gcc test.c -m32

通过file命令查看编译出来的可执行文件,可确认它确实为32位的:

参考资料

[1]ubuntu 12.04 64位设置兼容32位的实现

[2]Ubuntu64位上运行32位程序

[3]如何在ubuntu14.04(64位)编译运行32位程序

[4]error while loading libstdc++.so.6

[5]error while loading shared librarieserror while loading shared libraries: : libz.so.1

[6]gcc编译-m32、-mx32有什么区别

64位Ubuntu系统兼容32位程序相关推荐

  1. linux64位系统兼容32位程序(不下载兼容包)

    64位系统兼容32位系统,正常通过apt指令安装兼容包即可.也就是两条命令的事情: apt-get install gcc-multilib apt-get install g++-multilib ...

  2. 64位Ubuntu上 安装32位QQ

    64位Ubuntu上 安装32位QQ --------------------------------------------------------------------------------- ...

  3. 64位Ubuntu上编译32位程序

    1.确认主机为64位架构的内核,应该输出为adm64,执行: $ dpkg --print-architecture 2.确认打开了多支架功能,应该输出为i386,执行: $ dpkg --print ...

  4. 计算机64位变32位,怎么将64位的系统变成32位的系统

    64位技术是相对于32位而言的,这个位数指的是CPU GPRs(General-Purpose Registers,通用寄存器)的数据宽度为64位,64位指令集就是运行64位数据的指令,也就是说处理器 ...

  5. Java32位Win7系统Jdk_win7 32位旗舰版配置与调试JDK环境技巧【图文】

    JDK产品是针对Java而开发的,在Linux系统中使用的比较广泛,但也有不少用户将JDK应用到Windows系统中,但是不知道该如何操作设置,网上有很多教程虽然有很多教程设置,但是都安装配置失败,这 ...

  6. 64位Ubuntu上编译32位程序操作步骤

    1.      确认主机为64位架构的内核,应该输出为adm64,执行: $ dpkg --print-architecture 2.      确认打开了多架构支持功能,应该输出为i386,执行: ...

  7. 在64位Ubuntu上编译32位程序常见错误

    问       题1: 找不到头文件 asm/errno.h 解决办法 : [/usr/lib/gcc$ ]sudo ln -s x86_64-linux-gnu/asm asm 问题2:找不到gcc ...

  8. 64位 gnuwin32_linux系统中32位和64位的区别?

    通称说 x86也是指 IA32构架CPU,也就是说cpu是32位的,只能安装32位的os了:而x86-64或者IA-64是说cpu支持64位,可以安装64位的os,跑64位的应用 不懂可以看如下总结 ...

  9. ubuntu16.04_64位系统兼容32位软件

    装上这些就可以了 sudo apt-get install libc6:i386 libx11-6:i386 libasound2:i386 libatk1.0-0:i386 libcairo2:i3 ...

最新文章

  1. golang中的接口
  2. mysql 接口访问_MySQL的数据库访问接口-阿里云开发者社区
  3. 汉诺塔函数python_帮你轻松理解《汉诺塔》函数
  4. js中关于array的slice和sort方法(转自JavaEye)
  5. 数组的迭代数组里面每个对象添加属性值_JS数组和对象循环遍历的几种实现方式...
  6. Matlab——图像缩放(插值法)
  7. 用java输出图形_java基础-输出一个简单的图形。
  8. API 层实现语音录制
  9. 124_Power PivotPower BI DAX优化计算最大连续次数
  10. 2018.12-2019.1 TO-DO LIST
  11. python 矩阵除法_Python线性代数学习笔记——矩阵的基本运算和基本性质,实现矩阵的基本运算...
  12. 05SpringMvc_映射器SimpleUrlHanderMapping
  13. python爬虫使用指南_如何使用Python构建Web爬虫[分步指南]
  14. u盘中毒了怎么恢复文件?一分钟了解恢复方法
  15. 软件测试时印象深刻的bug案例,请问你遇到过哪些印象深刻的bug,接口测试出现bug的原因有哪些?...
  16. OLAP和OLTP的介绍
  17. 【DNS域名解析服务】
  18. gvim使用 pratical vim 读书笔记
  19. 求含有阶乘的不等式c语言,证明含有双阶乘的不等式
  20. 工业品牌软文营销拒绝知识的禁锢需掌握这7种写作方法

热门文章

  1. 从头认识多线程-4.1 对象的发布(Publish)、逸出(Escape)以及逸出的解决方案
  2. Java 并发编程(二)对象的发布逸出和线程封闭
  3. Java封装redis工具类RedisUtils,以及在@Postconstruct注解中调用redis可能出现redisTemplate空指针异常
  4. C# 使用iText7对PDF进行签章
  5. 东南融通无领导小组面试记
  6. java之SimpleDateFormat日期格式化
  7. 单稳态触发器(cmos门电路构成)-微分型
  8. 啊!我的专业不只是修电脑,装系统
  9. 用于编辑计算机程序的语言是,编辑语言
  10. python 12306查询不到车次_Python3.x 抓取12306车次信息,表格详情显示,让你学会思路,分析网站特点,爬取数据。12306车票查看器!...