基于ARM的Qt Creator嵌入式开发环境搭建

时间:2021-12-16 19:55:22

平台:ubnutu10.04

交叉编译器:arm-linux-gcc-3.4.1

第一步,准备相关文件

Qt官方网站可以下载qt-everywhere-opensource-src-4.8.1.tar,解压为3份,可分别命名为qt-x11qt-x86

qt-armqt-x11版本可以产生Qt开发工具:

designer——Qt界面的设计工具

qvfb——Qt的虚拟缓冲帧,嵌入式的开发有了qvfb,就可以不需要实际的开发板,也可以开发Qt应用程

uic——可以把Qt的界面描述文件转化为相应的 .h.cpp文件

moc——Qt的信号和插槽的定义翻译为标准的C++语法

qt-x86是基于x86架构的嵌入式版本:

如果我们想在PC机上进行嵌入式程序的仿真,就可以用qvfb来模拟嵌入式的显示器,但是qvfb只能执行x86架构的应用程序,所以需要生成关于x86的库和其他文件,如果不需要在PC机上仿真运行嵌入式程序,而是在板子上直接运行和调试,则可以不需要这个版本

qt-arm是基于ARM架构的嵌入式版本:

我最终的qt应用程序需要在arm架构上面运行,因此必然需要这方面的库,使用qt-arm库编译就可以得到在arm上能运行的可执行程序

第二步,Installing Qt for X11 Platforms

Step 1:Unpacking the Archive

tar xvf qt-everywhere-opensource-src-4.8.2.tar # unpack it

Step 2:Building the Library

cd /tmp/qt-everywhere-opensource-src-4.8.2 

./configure

make

make install

Step 3:Set the Environment Variables

In .profile (if your shell is bash, ksh, zsh or sh), add the following lines:

PATH=/usr/local/Trolltech/Qt-4.8.2/bin:$PATH 

export PATH

第三步,Installing Qt for Embedded Linuxx86

进入x86目录

# ./configure -embedded x86 -qt-gfx-qvfb -qt-kbd-qvfb -qt-mouse-qvfb

# make

# make install

第四步,安装触摸屏校验工具

tslib-1.4.tar.gz放到一个目录下,比如/opt目录下。接着执行命令如下:

#tar zxvf tslib-1.4.tar.gz 

执行命令cd tslib,进入tslib当前目录,接着执行命令如

#./autogen.sh 

然后接着执行配置命令:

#./configure --prefix=/usr/local/tslib --host=arm-linux ac_cv_func_malloc_0_nonnull=yes 

最后执行编译命令和安装命令如下:

make 

make install 

如果以上步骤没错,则可以在/usr/local/tslib下出现我们需要的库文件,这些库文件我们移植时会用到。

编译期间出现的错误:./autogen.sh: 4: autoreconf: not found

解决:sudo apt-get install autoconf automake libtool

步,Installing Qt for Embedded LinuxARM

进入arm目录

# ./configure \

-prefix  /usr/local/Trolltech/QtEmbedded-4.6.3-arm \ 

-opensource \

-confirm-license \

-release -shared \

-embedded arm \

-xplatform qws/linux-arm-g++ \

-depths 16,18,24 \

-fast \

-optimized-qmake \

-pch \

-qt-sql-sqlite \

-qt-libjpeg \

-qt-zlib \

-qt-libpng \

-qt-freetype \

-little-endian  -host-little-endian \

-no-qt3support  \

-no-libtiff   -no-libmng \

-no-opengl \

-no-mmx  -no-sse  -no-sse2 \

-no-3dnow \

-no-openssl \

-no-webkit \

-no-qvfb \

-no-phonon \

-no-nis \

-no-opengl \

-no-cups \

-no-glib \

-no-xcursor   -no-xfixes  -no-xrandr   -no-xrender \

-no-separate-debug-info \

-nomake examples   -nomake  tools   -nomake docs

必须加上“-prefix /usr/local/Trolltech/QtEmbedded-4.8.1-arm ”参数,不然安装后不在QtEmbedded-4.8.1-arm文件夹下,而是覆盖了QtEmbedded-4.8.1

如果放弃配置,则使用命令:# make confclean

编译:# make

安装:# make install

第六步,安装并测试qvfb

编译安装PC版中的 qvfb

进入qt-pc/tools/qvfb/目录,执行如下操作:

#make

编译完毕,将qt-pc/bin目录下的qvfb文件复制到/usr/local/Trolltech/QtEmbedded-4.8.1/bin目录。

测试qvfb

为了方便使用qvfb模拟ARM的结果,在环境中添加qvfb的路径

输入命令: vim  /.bashrc编辑.bashrc文件,在文件末尾加入如上面的内容

export PATH=/usr/local/Trolltech/QtEmbedded-4.8.1/bin:$PATH

重启,测试是否加入成功 

echo $PATH

看是否显示刚才添加的路径

测试

命令:#qvfb -width 800 -height 480 &

其中&表示后台运行。