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

ubuntu 下建立QT QT-Embedded 开发环境

2012-01-01 20:16 357 查看
1:ubuntu 下建立QT QT-Embedded 开发环境

由于拟采用友善之臂的开发板(可以更换)的开发环境的Linux 版本是Fedora,

我原先准备先在Fedora 上搭建了基本的QT 开发环境,但考虑到开发有些不便

利,所以这次我把开发环境换成了相对较熟悉ubuntu 来搭建最新版的QT 和QTEmbedded

以及QT-x86&qvfb。

1:首先是安装g++:这一步是为了提供QT 编译对C++的支持,ubuntu 默认没

有安装。

使用的命令行:sudo apt-get install g++

2: 安装arm-linux-gcc 这里安装时友善之臂自带的arm-linux-gcc 压缩包进行安

装,安装方法主要是解压缩,配置环境变量。

命令行:tar -zvxf arm-linux-gcc-4.4.3-20100728.tar.gz -C /

这里是将其安装到根目录下,会产生一个/opt 文件夹,下一步是配置环境变量,

命令行:vim /root/.bashrc

在最后一行导入命令:export PATH=/opt/FriendlyARM/toolschain/4.4.3/bin:$PATH

最后source /root/.bashrc 一下使环境变量生效。重启终端窗口就行了。

3:在这里就可以开始安装QT 了,不过首先得安装相应的库文件

命令行:sudo apt-get install libglib2.0-dev libSM-dev libxrender-dev libfontconfig1-dev

libxext-dev

sudo apt-get install libgl1-mesa-dev libglu-dev

sudo apt-get install xorg-dev(这里是为了防止编译QVFB出错)

4:安装QT 的三个版本:QT-PC QT-X86(嵌入式的X86版本) QT-ARM

a:下载好qt-everywhere-opensource-src-4.6.3.tar.gz 的源码,这个可以编译成三个

把版本的QT(ftp://ftp.trolltech.com/qt/source

b: 先编译安装QT-PC

命令行:tar -xvzf qt-everywhere-opensource-src-4.6.3.tar.gz

mv qt-everywhere-opensource-src-4.6.3 QT-PC

cd QT-PC

./configure

make

make install

安装编译大约需要两个小时

c: 编译编译安装QT-X86

命令行:tar -xvzf qt-everywhere-opensource-src-4.6.3.tar.gz

mv qt-everywhere-opensource-src-4.6.3 QT-X86

cd QT-X86

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

make

make install

d:编译安装qvfb

编译安装QT-PC版中的qvfb:

进入QT-PC/tools/qvfb/目录运行make命令

将QT-PC/bin目录下的qvfb文件复制到/usr/local/Trolltech/QtEmbedded-4.6.3/bin目

录。

错误解决办法:

g++ -c -pipe -O2 -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_GUI_LIB -

DQT_CORE_LIB -DQT_SHARED -I../../mkspecs/linux-g++ -I. -I../../include/QtCore -

I../../include/QtGui -I../../include -I. -I. -I. -o x11keyfaker.o x11keyfaker.cpp

x11keyfaker.cpp:48:34: error: X11/extensions/XTest.h: 没有那个文件或目录

x11keyfaker.cpp: In member function ‘void X11KeyFaker::sendKeyEvent(int, bool)’:

x11keyfaker.cpp:449: error: ‘XTestFakeKeyEvent’ was not declared in this scope

x11keyfaker.cpp:452: error: ‘XTestFakeKeyEvent’ was not declared in this scope

x11keyfaker.cpp:456: error: ‘XTestFakeKeyEvent’ was not declared in this scope

x11keyfaker.cpp:459: error: ‘XTestFakeKeyEvent’ was not declared in this scope

x11keyfaker.cpp:464: error: ‘XTestFakeKeyEvent’ was not declared in this scope

x11keyfaker.cpp: In member function ‘void X11KeyFaker::connect()’:

x11keyfaker.cpp:550: error: ‘XTestQueryExtension’ was not declared in this scope

make: *** [x11keyfaker.o] 错误1

解决方法:

sudo apt-get install xorg-dev

e: 编译tslib对触摸屏的支持

命令行:tar -xvzf tslib-1.4.tar.gz

cd tslib

./autogen.sh

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

make

make install

错误解决办法:

1.执行./autogen.sh

提示错误一:

./autogen.sh: 4: autoreconf: not found

解决方法:sudo apt-get install autoconf automake libtool

2.执行./configure --host=arm-linux --prefix=/usr/local/tslib

提示错误二:

ts_test.o(.text+0x218): In function `main':

: undefined reference to `rpl_malloc'

fbutils.o(.text+0x234): In function `open_framebuffer':

: undefined reference to `rpl_malloc'

collect2: ld returned 1 exit status

make[2]: *** [ts_test] Error 1

make[2]: Leaving directory `/home/gfpeak/Desktop/tslib/tests'

make[1]: *** [all-recursive] Error 1

make[1]: Leaving directory `/home/gfpeak/Desktop/tslib'

make: *** [all] Error 2

解决方法是在编译的时候./configure 后面的参数没有设置对,正确设置如下:

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

3.执行make

4.执行sudo make install

f: 编译安装QT-ARM

tar -xvzf qt-everywhere-opensource-src-4.6.3.tar.gz

mv qt-everywhere-opensource-src-4.6.3 QT-ARM

cd QT-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 \

-qt-mouse-tslib -I/usr/local/tslib/include -L/usr/local/tslib/lib}

make

make install

上述的就可以实现SDK的安装,在以下目录下可以找到三个文件

5:安装QT-CREATOR集成开发环境

下载qt-creator-linux-x86-opensource-2.3.1.bin

到相应目录下:chmod u+x qt-creator-linux-x86-opensource-2.3.1.bin

./qt-creator-linux-x86-opensource-2.3.1.bin

接下来是图形界面化安装方式,直接下一步提示安装即可。

接下来是配置环境变量,按下图所示进行修改,点击ADD找到相应目录的qmake文

件即可。

运行一下QT自带的例子看看结果是否正确,拷贝books到/home/zhangtao/QT目录下

在这里要设置一下编译的选项Buil setting和Run setting

最后运行一下,点run然后打开终端输入以下命令行:启动终端,#

/usr/local/Trolltech/QtEmbedded-4.6.3/bin/qvfb -width 800 -height 480 &,启动

Qvfb

这里只是在ubuntu上模拟嵌入式X86版本的QT程序,如果要移植到ARM上还需要移植一些库文件:
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: