您的位置:首页 > 编程语言 > Qt开发

Qt-4.6.3移植与Qt creator开发环境建立

2012-03-12 10:55 344 查看
(2011-11-10 14:10)
标签:
转载

原文地址Qt-4.6.3移植与Qt creator开发环境建立
作者gugugu9999

最近把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

然后输入“o”,在然后输入“yes”,下面的embedded版本和arm版本配置时也是一样。

执行后会出现错误:

出错: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版本的编译
配置:

./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的编译

首先:

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

./autogen.sh
出现错误:./autogen.sh: 4: autoreconf: not found
解决方法:

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版本的编译

首先配置:

./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

出现错误:../../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的图标,运行它来进行配置:

在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

单击Qmake Location:右侧Browse…按钮,在弹出的“Select QMake Executable”窗口中找到对应版本的qmake程序(x11版路径:/home/gu/Qt/output/qt-x11/bin/qmake,embedded版路径:/home/gu/Qt/output/qt-embedded/bin/qmake,arm版路径:/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 ,

添加完毕,单击OK按钮关闭Options窗口。
----------------------------至此qt creator配置完成--------------------------------------

至于qt creator的使用方法就要靠大家自己学习了,好了,以后就可以开发Qt应用程序了!!!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐