这几天终于搞定了老师项目里我负责的部分,主要是做一个图像采集的手持端,我选用了JZ2440。
从移植内核、制作文件系统、Qt移植总结下来发现在对于代码的交叉编译必须保证编译平台的一致性。对于s3c2440来说是armv4t,所以当我们编译出来程序必须要是

执行 arm-linux-readelf libjpeg.so.62.0.0 -A (libjpeg.so.62.0.0 为我交叉编译出来的)


这里的Tag_CPU_arch: v4T 很重要 、我的工具链arm-none-linux-gnueabi-(4.3.2)默认编译出来的程序为V5 平台的,由于我又是新手,开始时给我带来很多困扰

后来我成功搭建好busybox时Qt程序老是出现非法指令问题
我查看了我生成的Qt程序,发现为V5,这也不难解释Illegal instruction错误

开始时我走了弯路,我在我写的Qt程序里加入了

后来发现还是编译出来为V5,我又尝试在Makefile中加入march指定,发现还是不行,后来突然发现我编译出来的Qt链接库全是V5平台的,怪不得编译出来的程序也是V5,什么样的爹什么样的儿子嘛。于是我又开始程序交叉编译armv4t的qt4.7 。这这间经历的坑我就不多说了,直接贴上我的文件

./configure -opensource -embedded armv4t -xplatform qws/linux-arm-g++ -no-webkit -nomake demos -nomake examples -qt-libtiff -qt-libmng -qt-libjpeg -qt-mouse-tslib -qt-mouse-pc -qt-gfx-transformed -no-mouse-linuxtp -prefix /opt/qt-4.7.1 -I /usr/local/tslib/include -L /usr/local/tslib/lib

加粗的这一句很重要,直接决定了编译出来是armv4t还是armv5
(默认V5)。最后的-I -L根据自己情况写

编译libtools
./configure CC=arm-linux-gcc-yin –host=arm –prefix=/opt/jpeg/libtool-release

编译jpeg-6b
./configure CC=arm-linux-gcc-yin –prefix=/opt/jpeg/jpeg-6b-release –enable-shared –enable-static –host=arm

编译tslib
CFLAGS=-march=armv4t ./configure –host=arm-linux –cache-file=arm-linux.cache -prefix=/usr/local/tslib ac_cv_func_malloc_0_nonnull=yes

arm-linux-gcc-yin 是我自己做的脚本。

最后一句:最重要的是统一

对于嵌入式交叉编译总结相关推荐

  1. Ubuntu 8.04嵌入式交叉编译环境arm-linux-gcc搭建过程图解

    Linux版本:Ubuntu8.04 内核版本:Linux 2.6.24 交叉编译器版本:arm-linux-gcc-3.4.1 交叉编译器下载链接: https://share.weiyun.com ...

  2. Ubuntu 12.04嵌入式交叉编译环境arm-linux-gcc搭建过程图解

    Linux版本:Ubuntu 12.04 :内核版本:Linux 3.5.0:交叉编译器版本:arm-linux-gcc-4.4.3:交叉编译器下载 见这篇文章http://www.linuxidc. ...

  3. linux系统嵌入式编译环境,Ubuntu 12.04嵌入式交叉编译环境arm-linux-gcc搭建过程图解...

    Linux版本:Ubuntu 12.04 内核版本:Linux 3.5.0 交叉编译器版本:arm-linux-gcc-4.4.3 交叉编译器下载 见这篇文章http://www.linuxidc.c ...

  4. linux系统嵌入式编译环境,64位Ubuntu 16.04搭建嵌入式交叉编译环境arm-linux-gcc过程图解...

    64位Ubuntu 16.04搭建嵌入式交叉编译环境arm-linux-gcc过程图解,开发裸机环境之前需要先搭建其开发环境,毕竟工欲善其事必先利其器嘛. 安装步骤 1.准备工具安装目录 将压缩包ar ...

  5. Mastering Embedded Linux Programming 学习 (一)嵌入式交叉编译工具链的构建,基于crosstool-NG

    Mastering Embedded Linux Programming 学习 (一) 一.ubuntu 软件包下载 sudo apt install autoconf automake bison ...

  6. linux arm交叉编译ko,Ubuntu嵌入式交叉编译环境arm-linux-gcc

    1.下载安装包 下载arm-linux-gcc-4.4.3.tar.gz存放在一个目录下 2.解压安装包 在存放的目录下解压安装包 tar -zxvf arm-linux-gcc-4.4.3.tar. ...

  7. Ubuntu 上 hi3531 交叉编译环境 arm-hisiv100nptl-linux 建设过程

    安装SDK 1.Hi3531 SDK包的位置     在"Hi3531_V100R001***/01.software/board"夹,你可以看到一个 Hi3531_SDK_Vx. ...

  8. hi3531交叉编译环境arm-hisiv100nptl-linux搭建过程

    安装SDK 1.Hi3531 SDK包位置 在"Hi3531_V100R001***/01.software/board"目录下,您可以看到一个 Hi3531_SDK_Vx.x.x ...

  9. linux 嵌入式 交叉 环境搭建 实验原理,实验三 嵌入式Linux开发环境的搭建

    南京邮电大学通达学院 实 验 报 告 实验 实验三题目 嵌入式Linux开发环境的搭建 课程名称 嵌入式驱动开发实验 学院 专业 班 实验者学号同做者学号 08002210 姓名 毛骏超 同做者学号 ...

最新文章

  1. memcache redis
  2. Mysql 於lampp xampp LinuxUbuntu下的配置
  3. Cassandra HBase和MongoDb性能比较
  4. 实施SAP:资源和进度
  5. C++求最小公倍數LCM的实现算法(附完整源码)
  6. HDU 2647 Reward (拓扑排序)
  7. asp.net架构之请求处理过程:HttpModule,HttpHandler
  8. Python多线程编程中使用Barrier对象进行同步
  9. ActiveMQ整合spring结合项目开发流程(生产者和消费者)总结
  10. 前窗玻璃膜贴了一周还有气泡_汽车玻璃膜贴全部好还是贴局部好?
  11. java.util.list e_E remove()
  12. 漂亮的html跳转页面代码,HTML网页实例代码:简洁漂亮的跳转等待页面
  13. 【微信测试号实战——02】编写你独有的微信消息模板
  14. 怎么设置邮箱自动回复?如何设置自动回复功能?
  15. windows下解决Git报错: LF will be replaced by CRLF the next time Git touches it
  16. python有什么特点有什么应用方向_你知道吗?python特点+可以做什么+就业前景(附30G学习资料)...
  17. krpano使用示例
  18. zzulioj1094c语言版答案,ZZULIOJ 1094: 统计元音(函数专题)
  19. Win11系统组策略编辑器打不开解决方法
  20. 轨道交通智能化系统的架构与优势

热门文章

  1. 51 Nod 1007 正整数分组【类01背包】
  2. iOS应用内付费(IAP)开发步骤列表
  3. 让您的Xcode键字如飞
  4. iOS开发CoreAnimation解读之三——几种常用Layer的使用解析
  5. YUV422/420 format
  6. XVID基本参数解析
  7. QT pro文件详解
  8. 第五章 - 图像形态学 - 基于图像金字塔的图像分割(cvPyrSegmentation)
  9. 银行家算法实验报告c语言版,银行家算法实验报告C语言版.doc
  10. 超微服务器电源短接启动图解_教你一招,让你的电脑启动速度秒杀别人