1.Qt/Embeded环境的安装
在宿主机上安装了QT 的开发环境以后,我们就可以在宿主机上进行应用程序的开发,但是在宿主机上开发好的应用程序最终是要移植到目标机上去的,因此还需要在宿主机上编译和安装支持目标机的Qt/Embedded环境,用Qt/Embedded提供的工具来交叉编译我们开发的应用程序,得到可以在目标机上运行的代码
Qt/Embedded 源码包:
qt-embedded-linux-opensource-src-4.4.3.tar.gz
该源码包的下载地址为:
ftp://ftp.trolltech.no/qt/source/qt-embedded-linux-opensource-src-4.4.3.tar.gz
<1>.安装tslib
tslib-1.0.tar.bz2源码包官方下载地址为:
http://prdownload.berlios.de/tslib/tslib-1.0.tar.bz2
(1).解压源码包
cd /home/hm/book2410/debugtool
tar -jxvf tslib-1.0.tar.bz2 cd tslib-1.0
(2).配置交叉编译环境
export CC=/home/liu/s3c2410/crosstool/gcc-4.1.1-glibc-2.3.2/arm-linux/bin/arm-linux-gcc
(3).生成.config文件
slib-1.0目录下面有一个脚本文件:autogen.sh,该文件可 以根据主机的环境变量生成编译tslib的配置文件,不过该脚本文件的执行需要autoconf、automake和libtool三个工具的支持,因此先安装这三个工具,然后执行autogen.sh文件
sudo apt-get install autoconf automake libtool
./autogen.sh
(4).避免检查ac_cv_func_malloc_0_nonnull(这步可以没有)
echo "ac_cv_func_malloc_0_nonnull=yes" > arm-linux.cache
(5).建立安装路径
指定一个tslib的安装路径,此处将它放在NFS文件系统的根目录(/armnfs)下
cd /armnfs
mkdir tslib
(6).配置目标机、安装路径、缓冲区
./configure --host=arm-linux --prefix=/armnfs/tslib --cache-file=arm-linux.cache
--host 是交叉编译器的前缀
--prifix 是tslib的安装路径
--cache-file 是缓冲文件
(7).编译
Make
(8).安装
Make install
<2>.安装Qt/Embedded
(1).配置交叉编译环境
在编译和安装QT/Embedded之前需要配置交叉编译器,这里还是使用自己制作的交叉编译器
修改/etc/profile文件:sudo gedit /etc/profile,在最后添加下面两句
PATH=$PATH:/home/liu/s3c2410/crosstool/gcc-4.1.1-glibc-2.3.2/arm-linux/bin/
export PATH
保存退出
(2).解压源码包并进入目录
cd /home/hm/book2410/debugtool
gunzip qt-embedded-linux-opensource-src-4.4.3.tar.gz
tar -xvf qt-embedded-linux-opensource-src-4.4.3.tar
cd qt-embedded-linux-opensource-src-4.4.3
(3).配置
./configure -embedded arm -xplatform qws/linux-arm-g++ –release -shared -no-pch -no-qt3support -no-libtiff -no-libmng -system-libjpeg -qt-freetype -openssl -nomake examples -nomake demos -no-phonon -no-nis -no-opengl -no-cups -no-xcursor -no-xfixes -no-xrandr -no-xrender -xkb -no-sm -no-xinerama -no-xshape -no-separate-debug-info -no-dbus -no-webkit -little-endian -qt-kbd-usb -mouse-tslib -qt-libpng -qt-libjpeg -qt-gif -confirm-license -I/armnfs/tslib/include -L/armnfs/tslib/lib
(4).编译
Make
(5).安装
Make intall
安装完成后将生成的库文件拷贝到目标机下,不必全部拷贝,拷贝部分有用的就可以,libQtNetwork,libQtGui,libQtScript,libQtCore这几个是必须的,还有其他的字体库等等
(6).目标机环境变量配置
还要修改ts.conf (做下面的修改)
module_raw input
module pthres pmin=1
module variance delta=30
module dejitter delta=100
module linear
上面完成了qt嵌入式环境的安装
(在开发板默认提供的文件系统中已经完成了上述的配置,可以直接使用)
问题1:
GammaEnergySpectrumAnalysisSystem-20140509软件编译时会出现找不到(由于版本没有达到5.1) QtCurrent、只需要将windows中安装的qtcreator中include头文件拷贝到Linux下对应的头文件下面(windows路径:D:\QT5.1\5.1.1\mingw48_32\include\QtConcurrent).
问题2:
字体问题,在移植过程中最大的问题就是字体乱码的问题 ,这时候要下载wnequanyi字体,拷贝到编译好的嵌入式qt到lib/fonts目录下,目标机和宿主机都要拷贝,然后在main.cpp中添加下面的内容:
QTextCodec = QTextCodec::codecForName("UTF-8");
QTextCodec::setCodecForTr(codec);
QTextCodec::setCodecForLocale(codec);
QTextCodec::setCodecForCStrings(codec);
这样在开发板上运行程序./程序文件 -qws -font wenquanyi
可以运行成功
如果想要不加后面的字体指定,可以将fonts目录下的除了wenquanyi字体以外的字体全部删掉