s3c2410上搭建QT/Embedded4.8.5开发环境(二)--安装arm平台qt库qt-everywhere-opensource-src-4.8.5

简介:

【目标板】s3c-2410

【虚拟机】CentOS6.4 kernel-2.6.32

【编译器】gcc-4.4.6

【交叉编译器】arm-linux-gcc 4.3.2

安装并配置交叉编译器arm-linux-gcc4.3.2

①下载交叉编译包,

大家也可以选择自己编译并搭建arm-linux-gcc, 但是那样很麻烦,我们不如直接用网络上已经编译好的

②安装编译器

两个不同版本的编译器,大家可以自行选择一个安装,其实4.3.2已经能满足我们的需求,
两个版本解压缩目录有点差别,但是主要目录是相同的,都包含一个由版本号命名的文件夹,那个文件夹就是编译器的主目录了
1--解压缩的命令我就不说了,tar就可以很简单
2--我习惯上把交叉编译器安装到/usr/local/arm/下,不同的编译器就分别建一个不同的文件夹,这样我们把解压后编译器的主目录复制到/usr/local/arm下即可
如果您选择使用的是arm-linux-gcc4.3.2,它解压缩后目录为opt/FriendlyArm/toolschain/4.4.3, 其编译器主目录就是4.4.3,如果嫌后面的配置麻烦,大家可以直接将整个文件解压复制到/opt下,但是我不喜欢这个目录结构, 而且往往我们机子上会安装多个版本的arm-gcc交叉编译器,我们只将4.4.3拷贝到/usr/local/arm下
如果是arm-linux-gcc4.4.3
  1. tar -xvf arm-linux-gcc-4.4.3.tar.gz   
  2. cp -rf $PWD/opt/FriendltArm/toolschain/4.4.3    /usr/local/arm/  
tar -xvf arm-linux-gcc-4.4.3.tar.gz 
cp -rf $PWD/opt/FriendltArm/toolschain/4.4.3    /usr/local/arm/
如果是arm-linux-fcc-4.3.2,它的目录结构刚好是我们想要的
  1. tar -xvf arm-linux-gcc-4.4.3.tgz   
  2. cp -rf $PWD/usr/local/arm/4.3.2    /usr/local/arm/  
tar -xvf arm-linux-gcc-4.4.3.tgz 
cp -rf $PWD/usr/local/arm/4.3.2    /usr/local/arm/
或者干脆
  1. tar -xvf arm-linux-gcc-4.3.2.tgz -C /  
tar -xvf arm-linux-gcc-4.3.2.tgz -C /

③配置环境变量

打开/etc/profile文件(修改此文件对所有用户有效)或者~/.bash_profile或者~/.bashrc下
添加如下行
  1. PATH = $PATH:/usr/local/arm/4.3.2/bin  
  2. export PATH  
PATH = $PATH:/usr/local/arm/4.3.2/bin
export PATH
如果有多个交叉编译器版本
  1. #PATH = $PATH:/usr/local/arm/3.4.1/bin  
  2. PATH = $PATH:/usr/local/arm/4.3.2/bin  
  3. #PATH = $PATH:/usr/local/arm/4.4.3/bin  
  4. export PATH  
#PATH = $PATH:/usr/local/arm/3.4.1/bin
PATH = $PATH:/usr/local/arm/4.3.2/bin
#PATH = $PATH:/usr/local/arm/4.4.3/bin
export PATH
然后想使用哪个就打开哪个,而把其他的注释掉
最后注销重新登录,就可以使用环境变量了
如果不想注销,可以source一下修改的环境变量配置文件,但是source只对当前终端有效,终端关闭后必须重新source
  1. source ~/.bash_profile  
source ~/.bash_profile

④确认安装

最后在终端中输入
  1. arm-linux-gcc -v   
arm-linux-gcc -v 
就可以查看版本, 出现版本信息说明安装成功


  1. 下面的步骤需要注意一下,我们编译qt和tslib时候,其实是分别编译的,但是大家开发项目很多情况下,是技术搭好环境然后将编译好的库打包,交给我们直接使用(打包的过程我们后面会讲),这样为了防止打包qt时tslib库丢失的问题,我们可以讲tslib库编译后安装按qt的目录下,或者拷贝到qt的目录下, 这样我们无论在哪台机器上,将打包好的库直接解压,就可以使用了  
下面的步骤需要注意一下,我们编译qt和tslib时候,其实是分别编译的,但是大家开发项目很多情况下,是技术搭好环境然后将编译好的库打包,交给我们直接使用(打包的过程我们后面会讲),这样为了防止打包qt时tslib库丢失的问题,我们可以讲tslib库编译后安装按qt的目录下,或者拷贝到qt的目录下, 这样我们无论在哪台机器上,将打包好的库直接解压,就可以使用了


安装tslib触摸屏校准库

触摸屏软件 tslib1.4.tar.gz tslib是触摸屏校准的库,这个是tslib源码,可以移植到嵌入式设备中对触摸屏进行校准在采用触摸屏的移动终端中,触摸屏性能的调试是个重要问题之一,因为电磁噪声的缘故,触摸屏容易存在点击不准确、有抖动等问题。
Tslib是一个开源的程序,能够为触摸屏驱动获得的采样提供诸如滤波、去抖、校准等功能,通常作为触摸屏驱动的适配层,为上层的应用提供了一个统一的接口。在Qtopia 4.*版本中,默认的Tslib版本为Tslib 1.4。在Qtopia 2.*版本中,默认的Tslib版本为Tslib 1.3

1.解压缩:
  1. tar -zxvf tslib1.4.tar.gz  
tar -zxvf tslib1.4.tar.gz
2.运行./autogen.sh
  1. ./autogen.sh  
./autogen.sh
./autogen.sh: 4: autoreconf: not found
 是在不同版本的 tslib 下执行 autogen.sh 产生。它们产生的原因一样,是因为没有安装
  automake 工具,      (ubuntu 8.04)用下面的命令安装好就可以了。
  sudo apt-get install autoconf automake libtool
3.生成makefile
  1. ./configure --host=arm-linux --prefix=/opt/tslib-1.4  ac_cv_func_malloc_0_nonnull=yes  
./configure --host=arm-linux --prefix=/opt/tslib-1.4  ac_cv_func_malloc_0_nonnull=yes
4.make
5 make install

编译并安装qt-4.8.5-arm

1--解压缩
  1. tar -xvf qt-everywhere-opensource-src-4.8.5.tar.gz   
  2. cp -rf qt-everywhere-opensource-src-4.8.5 qt-4.8.5-arm-src   
  3. cd qt-4.8.5-arm-src  
tar -xvf qt-everywhere-opensource-src-4.8.5.tar.gz 
cp -rf qt-everywhere-opensource-src-4.8.5 qt-4.8.5-arm-src 
cd qt-4.8.5-arm-src
2 配置生成makefie
  1. ./configure -v -prefix /opt/qt-4.8.5-arm -opensource -confirm-license -embedded arm -release -shared -fast -no-largefile -qt-sql-sqlite -qt3support -no-xmlpatterns -no-glib -no-phonon -no-mmx -no-3dnow -no-sse -no-sse2 -no-svg -webkit -qt-zlib -qt-libtiff -qt-libpng -qt-libjpeg -make libs -make tools -make examples -make demos -make translations -no-nis -no-cups -iconv -no-dbus -xplatform qws/linux-arm-g++ -little-endian -qt-freetype -depths 16,24,32 -qt-gfx-linuxfb -qt-gfx-transformed -qt-gfx-multiscreen -no-gfx-vnc -no-gfx-qvfb -qt-kbd-linuxinput -no-kbd-qvfb -armfpa -no-mouse-qvfb -qt-mouse-linuxtp -qt-mouse-tslib -DQT_QLOCALE_USES_FCVT -I/opt/tslib-1.4/include -L/opt/tslib-1.4/lib  
./configure -v -prefix /opt/qt-4.8.5-arm -opensource -confirm-license -embedded arm -release -shared -fast -no-largefile -qt-sql-sqlite -qt3support -no-xmlpatterns -no-glib -no-phonon -no-mmx -no-3dnow -no-sse -no-sse2 -no-svg -webkit -qt-zlib -qt-libtiff -qt-libpng -qt-libjpeg -make libs -make tools -make examples -make demos -make translations -no-nis -no-cups -iconv -no-dbus -xplatform qws/linux-arm-g++ -little-endian -qt-freetype -depths 16,24,32 -qt-gfx-linuxfb -qt-gfx-transformed -qt-gfx-multiscreen -no-gfx-vnc -no-gfx-qvfb -qt-kbd-linuxinput -no-kbd-qvfb -armfpa -no-mouse-qvfb -qt-mouse-linuxtp -qt-mouse-tslib -DQT_QLOCALE_USES_FCVT -I/opt/tslib-1.4/include -L/opt/tslib-1.4/lib
3make编译
  1. make  
make
这个过程比较漫长,根据您机器的配置从几个小时到十几个小时不能,我大概编译了10个小时左右, 学校机子比较破
4-安装
  1. make install  


转载:http://blog.csdn.net/gatieme/article/details/22919963

目录
相关文章
|
29天前
|
数据采集 监控 安全
精简高效与安全兼备:ARM32与MCU32平台上的信息协议设计新思路
精简高效与安全兼备:ARM32与MCU32平台上的信息协议设计新思路
214 1
|
3天前
|
Ubuntu Linux 数据安全/隐私保护
Linux(7)Ubuntu20.04 arm64安装Docker
Linux(7)Ubuntu20.04 arm64安装Docker
15 0
|
10天前
|
编译器
MDK5.38 + 许可证及 ARM Compiler V5 安装
MDK5.38 + 许可证及 ARM Compiler V5 安装
|
17天前
|
消息中间件 网络安全 数据安全/隐私保护
麒麟系统ARM安装rabbitmq
记录下麒麟liunx系统安装rabbitmq的踩坑记录,按照我这个步骤来,100%解决问题。 希望对您有帮助!
麒麟系统ARM安装rabbitmq
|
23天前
|
编解码
qt中使用dll库的方法
qt中使用dll库的方法
14 2
|
24天前
|
存储
Qt更新组件出现(“要继续此操作,至少需要一个有效且已启用的储存库”)
Qt更新组件出现(“要继续此操作,至少需要一个有效且已启用的储存库”)
Qt更新组件出现(“要继续此操作,至少需要一个有效且已启用的储存库”)
|
24天前
|
编译器
正点原子IMX6ULL-安装交叉编译器、编译tslib触摸屏库、编译arm环境qt源代码
正点原子IMX6ULL-安装交叉编译器、编译tslib触摸屏库、编译arm环境qt源代码
|
1月前
|
安全 Linux 数据安全/隐私保护
【SPI协议】了解ARM平台上的SPI的基本应用
【SPI协议】了解ARM平台上的SPI的基本应用
378 0
|
1月前
|
编译器 C语言 Android开发
Qt5安装及组件选择(Qt 5.12)
Qt5安装及组件选择(Qt 5.12)
71 2
|
1月前
|
算法 API C++
Qt框架与STL库之间的巅峰对决:差异、优缺点及适用场景
Qt框架与STL库之间的巅峰对决:差异、优缺点及适用场景
122 0

推荐镜像

更多