大家知道在windows下使用qtcreator集成IDE开发环境开发Qt程序,甚至是其他与Qt无关的程序,在此过程中大家也可能感受到了它的魅力,呵呵,那么,各位朋友有没有使用它在Linux下开发自己的程序了?更有甚者,用它来交叉编译arm程序了?答案是可能的,而且相当方便。好了,下面我来带大家感受它的魅力吧!!!
一、下载安装Linux下的QtCreator安装包(如:qt-creator-linux-x86-opensource-2.4.1.bin)网址:http://qt.nokia.com/downloads/qt-creator-binary-for-linux-x11-32-bit;大家根据自己的系统选择是32位的还是64位的安装包;
二、解压上文的安装包
1、修改安装包的可执行权限;
[root@localhost ~]# chmod +x qt-creator-linux-x86-opensource-2.4.1.bin
2、安装qtcreator
[root@localhost ~]# ./qt-creator-linux-x86-opensource-2.4.1.bin
3、就会出现安装向导;
接下来的安装就如同windows下按章软件那么简单,在此不再啰嗦。
三、配置Qtcreator环境
进行此步骤的前提是你的Linux系统编译安装了qt库,库的安装步骤我就不介绍了。
注意:如果你是只做x86 pc机下配置,安装qt库的时候就是常规的编译安装qt库,如果你是移植相关的qt程序代码到arm下运行,那么qt就得交叉编译,交叉编译就得安装交叉编译器;我的目录为:/opt/toolchain/4.4.3。
下面我将介绍交叉编译qt库:
1、qt-everywhere-opensource-src-4.6.4.tar.gz(我的qt库安装包,qt.nokia.com有下载)
2、交叉编译工具链:(我的友善之臂提供arm-linux-gcc4.4.3)
我的安装目录如下:
/opt/toolchain/4.4.3/,进入交叉编译器的bin目录,你就会发现:
arm-linux-addr2line arm-none-linux-gnueabi-addr2line
arm-linux-ar arm-none-linux-gnueabi-ar
arm-linux-as arm-none-linux-gnueabi-as
arm-linux-c++ arm-none-linux-gnueabi-c++
arm-linux-cc arm-none-linux-gnueabi-cc
arm-linux-c++filt arm-none-linux-gnueabi-c++filt
arm-linux-cpp arm-none-linux-gnueabi-cpp
arm-linux-ct-ng.config arm-none-linux-gnueabi-ct-ng.config
arm-linux-g++ arm-none-linux-gnueabi-g++
arm-linux-gcc arm-none-linux-gnueabi-gcc
arm-linux-gcc-4.4.3 arm-none-linux-gnueabi-gcc-4.4.3
arm-linux-gccbug arm-none-linux-gnueabi-gccbug
arm-linux-gcov arm-none-linux-gnueabi-gcov
arm-linux-gprof arm-none-linux-gnueabi-gprof
arm-linux-ld arm-none-linux-gnueabi-ld
arm-linux-nm arm-none-linux-gnueabi-nm
arm-linux-objcopy arm-none-linux-gnueabi-objcopy
arm-linux-objdump arm-none-linux-gnueabi-objdump
arm-linux-populate arm-none-linux-gnueabi-populate
arm-linux-ranlib arm-none-linux-gnueabi-ranlib
arm-linux-readelf arm-none-linux-gnueabi-readelf
arm-linux-size arm-none-linux-gnueabi-size
arm-linux-strings arm-none-linux-gnueabi-strings
arm-linux-strip arm-none-linux-gnueabi-strip
等等。
3、在linux 下/opt目录建立自己的qt库编译目录,我的安装如下:
[root@localhost opt]# mkdir qt4.6.4_src
然后将qt-everywhere-opensource-src-4.6.4.tar.gz拷贝至qt4.6.4_src目录;
进入qt4.6.4_src目录,在此目录下建立脚本,这个脚本方便大家一键编译、安装啦
[root@localhost qt4.6.4_src]# vim build-all
内容如下:
#/bin/bash
export PATH=/opt/toolchain/4.4.3/bin:$PATH
export TB_CC_PREFIX=arm-linux-
export TOOLCHAIN=/opt/toolchain/4.4.3
export PKG_CONFIG_PREFIX=$TOOLCHAIN/arm-none-linux-gnueabi
rm -fr qt-everywhere-opensource-src-4.6.4
rm -fr Qt4.6.4_forArm
tar xfvz qt-everywhere-opensource-src-4.6.4.tar.gz
cd qt-everywhere-opensource-src-4.6.4
echo yes | ./configure -opensource -embedded arm -xplatform qws/linux-arm-g++ -no-webkit -qt-libtiff -qt-libmng -qt-mouse-tslib -q
t-mouse-pc -no-mouse-linuxtp -prefix /opt/Qt4.6.4_forArm -I /usr/local/arm/tslib/tslib/include -L /usr/local/arm/tslib/tslib/lib
make 2>&1 | tee ../qte4.6.4Makelog && make install
保存退出后修改脚本的可执行权限:chmod +x buid-all;
4、./build-all执行咯,没错误的话就可以安装成功了,由于本人在build-all脚本制定安装目录为:/opt/Qt4.6.4_forArm,所以就可以在此目录下找到相关的安装库文件等等咯!
这里提示大家,交叉编译qt库之前最好交叉编译安装tslib,哈哈,这里不做介绍,可以参考本人其他博文(Mini2440移植qt-extended4.4.3)。
5、接下来就是配置qtcreator交叉环境咯,方便大家开发arm下的qt应用程序;Linux下启动qtcreator:
配置针对arm的交叉编译环境:
由于上文提到本人的Qt交叉编译暗转的路径为:/opt/Qt4.6.4_forArm,进入此目录可以看到里面的bin目录,进入bin目录可可以发现qmake了吧,
ok后,紧接着就是设置交叉工具链:
设置完成后,就可以打开qt自带的例子工程,进行编译了。
写此文的时候参考了天嵌科技出品--Qt程序开发完全手册(上)之24小时超级版本_第二版_20091216.pdf,在此表示感谢,时间仓促,难免疏漏。