Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2163896
  • 博文数量: 374
  • 博客积分: 7276
  • 博客等级: 少将
  • 技术积分: 5669
  • 用 户 组: 普通用户
  • 注册时间: 2011-10-06 16:35
文章分类

全部博文(374)

文章存档

2013年(23)

2012年(153)

2011年(198)

分类: LINUX

2011-10-20 13:46:39

最近把Qt到开发环境建立了起来,以后打算多点时间在学习Qt上面,下面是我的移植与搭建过程,现在贴出来希望能对大家有点帮助。。。。。

作者:顾文彪
博客:http://blog.chinaunix.net/u3/113714/
交叉编译器:arm-linux-gcc-4.3.2
开发环境:ubuntu10.10

声 明:最近在网上发现有某些人转载我的文章不但没有标明来源,还说是自己到原创文章,让我感到十分气愤,我贴出自己的笔记完全是为了对嵌入式爱好者们做点贡 献,请大家珍惜我的劳动成果!转载的话请自觉注明来源:http://blog.chinaunix.net/u3/113714/

接下来开始:
首 先下载qt-everywhere-opensource-src-4.6.3.tar.gz 、qt-sdk-linux-x86-opensource-2010.04.bin 、tslib-1.4.tar.gz 这三个源码包,链接我就不给了,大家自己去google一下,这里我把这几个包的用途说一下:
    qt-everywhere-opensource-src-4.6.3.tar.gz为Qt的源码包,用来编译各种Qt的库等,这里需要编译三次,分别 为x11版本,embedded版本和arm版本;编译x11版只是为了得到qvfb工具,至于qvfb的用途后面自会说明;embedded版本为Qt 的嵌入式版本,将来和qvfb配合使用;arm版本很好理解,即要放到开发板上的东西。
    qt-sdk-linux-x86-opensource-2010.04.bin是开发qt的IDE,这里我用的是linux版本,用它来开发自己的Qt应用。
    tslib-1.4.tar.gz为触摸屏校正程序,编译qt的arm版本的时候需要tslib的库,tslib编译后会生成触摸屏校正程序(ts_calibrate),用来给开发板的触摸屏进行校正。

下面是具体的移植过程:
约定:
交叉编译器路径:/usr/local/arm/4.3.2/bin/
源码包路径:/home/gu/Qt/src/
输出目录:/home/gu/Qt/output/
将qt-everywhere-opensource-src-4.6.3.tar.gz解压三次,分别命名为qt-x11、qt-embedded和qt-arm
一、x11版本的编译
  首先配置,命令为:
  ./configure -prefix ~/gu/Qt/output/qt-x11
p { margin-bottom: 0.21cm; }
  然后输入“o”,在然后输入“yes”,下面的embedded版本和arm版本配置时也是一样。
  执行后会出现错误:
p { margin-bottom: 0.21cm; }

  出错:Basic XLib functionality test failed!

  解决方法:sudo apt-get install libx11-dev libxext-dev libxtst-dev

  然后:  make && make install

  编译会持续一个多小时,取决与你电脑的配置高低,这里有个窍门,假如你PC机的CPU是双核的话,将make指令加上 -j3参数,会进行多线程编译,编译速度会大大提高,即make -j3,这时会使用两个核心同时编译,大家可以试试;编译完成后qt的x11版本会被安装在/home/gu/Qt/output/qt-x11目录;这 时还没与完,关键的qvfb程序还没有被编译,所以继续:

cd tools/qvfb

make

然后将在/home/gu/Qt/src/qt-x11/bin目录生成的qvfb程序,将它复制到电脑的/usr/sbin目录,以后可以直接在终端执行了。

二、embedded版本的编译

   配置:

p { margin-bottom: 0.21cm; }

./configure -no-largefile -no-accessibility -no-qt3support -no-phonon -no-svg -no-nis -no-cups -no-opengl -qvfb -prefix ~/Qt/output/qt-embedded

配置完成后:
  make -j3
  make install
  一般不会出现任何错误的。
三、tslib的编译
  首先:
p { margin-bottom: 0.21cm; }

  export PATH=/usr/local/arm/4.3.2/bin/:$PATH

  export PREFIX=/home/gu/Qt/

  export CC=/usr/local/arm/4.3.2/bin/arm-linux-gcc  p { margin-bottom: 0.21cm; }

 ./autogen.sh

出现错误:./autogen.sh: 4: autoreconf: not found

解决方法:

p { margin-bottom: 0.21cm; }

sudo apt-get install autoconf automake libtool

然后重新:./autogen.sh

然后:

echo "ac_cv_func_malloc_0_nonnull=yes" >arm-linux.cache

./configure --host=arm-linux --prefix=$PREFIX --cache-file=arm-linux.cache


配置完成后:make && make install
四、arm版本的编译
   首先配置:
p { margin-bottom: 0.21cm; }

./configure -embedded arm -xplatform qws/linux-arm-g++ -depths 4,8,12,16 -no-qt3support -no-qvfb -qt-mouse-tslib -prefix /home/gu/Qt/output/qt-arm/ -qt-sql-sqlite -I/home/gu/Qt/output/tslib/include -L/home/gu/Qt/output/tslib/lib -no-rpath -no-largefile -no-accessibility

然后:make

p { margin-bottom: 0.21cm; }

出现错误:../../corelib/tools/qbytearray.cpp:54: fatal error: zlib.h: 没有那个文件或目录

解决办法:sudo apt-get install zlib1g-dev

然后重新:make -j3

编译完成之后make install

------------------------------------至此Qt移植完成-----------------------------------

接下来要安装配置Qt开发环境。。。。。。。。。。。。
Qt SDK的安装:
 直接:./qt-sdk-linux-x86-opensource-2010.04.bin
会出现图形界面安装,跟windows上安装程序一样,相信大家都会。。。
安装完成后桌面会有一个Qt creator的图标,运行它来进行配置:
p { margin-bottom: 0.21cm; }

Qt-creator菜单栏Tools—Options…打开Options窗口。

Options界面左侧,点击Qt4—Qt Versions右侧显示Qt Versions设置界面。

Qt Versions界面中点击那个蓝色的大“╋”号图标

在下方Version Name:文本框内输入Qt的版本名,可以随便填,能区分各个版本即可,如X11版取名为qt-x11、embedded版本取名qt-embedded、arm版本取名为qt-arm

p { margin-bottom: 0.21cm; }

单击Qmake Location:右侧Browse…按钮,在弹出的“Select QMake Executable”窗口中找到对应版本的qmake程序(x11版路径:/home/gu/Qt/output/qt-x11/bin/qmake,embedded版路径:/home/gu/Qt/output/qt-embedded/bin/qmakearm版路径:/home/gu/Qt/output/qt-arm/bin/qmake),单击打开,回到Qt Versions界面。

回到Qt Versions界面,单击Debugging Helper:右侧Rebuild按钮,等待片刻,看到Debugging Helper:后出现一个绿色的“√”即可。

arm版本的Rebuild时会出现错误,解决方法为:

sudo gedit /home/gu/Qt/output/qt-arm/mkspecs/qws/linux-arm-g++/qmake.conf


修改为:

QMAKE_CC                = /usr/local/arm/4.3.2/bin/arm-none-linux-gnueabi-gcc
QMAKE_CXX               = /usr/local/arm/4.3.2/bin/arm-none-linux-gnueabi-g++
QMAKE_LINK              =/usr/local/arm/4.3.2/bin/arm-none-linux-gnueabi-g++
QMAKE_LINK_SHLIB        = /usr/local/arm/4.3.2/bin/arm-none-linux-gnueabi-g++

重新rebuild , p { margin-bottom: 0.21cm; }

添加完毕,单击OK按钮关闭Options窗口。

----------------------------至此qt creator配置完成--------------------------------------

至于qt creator的使用方法就要靠大家自己学习了,好了,以后就可以开发Qt应用程序了!!!
阅读(2665) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~