交叉编译器:arm-linux-gcc-4.0.1 软件资源:qt-embedded-linux-opensource-src-4.5.3.tar.gz qt-x11-opensource-src-4.5.1.tar.gz
移植过程: 平时程序都是在PC上完成的,所以我们需要先安装X11版的Qt来获得qvfb这个工具。嵌入式的开发有了qvfb,就可以不需要实际的开发板,也可以开发Qt应程序。 qt-x11-opensource-src-4.5.1编译安装过程: 1.解压文件 将qt-x11-opensource-src-4.51.tar.gz复制到/root/local/qt目录下,进行解压,在终端中进行如下操作: #cd /root/local/qt #tar zxvf qt-x11-opensource-src-4.5.1.tar.gz 解压完成后,得到/usr/local/qt/qt-x11-opensource-src-4.5.1目录。下面就开始进行编译了。 2.编译及安装qt-x11-opensource-src-4.5.1 进入/usr/local/qt/qt-x11-opensource-src-4.5.1目录,进行编译安装。在终端中进行如下操作: #./configure –qvfb #make #cd tools/qvfb #make #cd ../.. #make install 3.复制文件 make install 完成后,会在/usr/local目录下生成一个Trolltech目录,形成/usr/local/Trolltech目录,这是qt-x11- opensource-src-4.5.1安装后所在的目录,进入/usr/local/Trolltech会看到一个Qt-4.5.1的目录,将 /usr/local/qt/qt-x11-opensource-src-4.5.1/tools/qvfb目录下的qvfb相关文件拷贝到/usr /local/Trolltech/Qt-4.5.1/bin目录下,在终端中操作(确定当前目录是/usr/local/qt/qt-x11- opensource-src-4.5.1): #cp tools/qvfb/qvfb* /usr/local/Trolltech/Qt-4.5.1/bin
qt-embedded-linux-opensource-src-4.5.1编译安装过程,为了程序开发的便捷性,我安装了x86版和arm版,先在PC上使用x86版和qvfb开发,完成以后再使用arm版交叉编译放到开发版上运行。 X86版安装过程: 1.解压文件 将qt-embedded-linux- opensource-src-4.5.1.tar.gz复制到/root/local/qt目录下进行解压,解压完成后,得到/usr/local /qt/qt-embedded-linux-opensource-src-4.5.1目录。将qt-embedded-linux- opensource-src-4.5.1重命名为qt-embedded-linux-opensource-src-4.5.1-x86。再解压一下 qt-embedded-linux-opensource-src-4.5.1.tar.gz,并重命名为qt-embedded-linux- opensource-src-4.5.1-arm,在终端中进行操作: #cd /root/local/qt #tar zxvf qt-embedded-linux-opensource-src.tar.gz #mv qt-embedded-linux-opensource-src-4.5.1 qt-embedded-linux-opensource-src-4.5.1-x86 #tar zxvf qt-embedded-linux-opensource-src.tar.gz #mv qt-embedded-linux-opensource-src-4.5.1 qt-embedded-linux-opensource-src-4.5.1-arm 2.编译及安装qt-x11-opensource-src-4.5.1-x86 进入/usr/local/qt/qt-x11-opensource-src-4.5.1-x86目录,进行编译安装。在终端中进行如下操作: #cd /usr/local/qt/qt-x11-opensource-src-4.5.1-x86 #./configure -qvfb #make( 或 gmake) #make install( 或 gmake install) OK,qt-x11-opensource-src-4.5.1-x86就编译好了。 3.编译及安装qt-x11-opensource-src-4.5.1-arm 安装这个是最为关键的,因为编译好后要把lib拷贝到板子上 对于触摸屏幕,我使用的是 tslib1.4 交叉编译tslib过程如下: 解压到/home下 #./autogen.sh #make #make install-strip //生成瘦身应用程序和库 编译qt-x11-opensource-src-4.5.1-arm 进入/usr/local/qt/qt-x11-opensource-src-4.5.1-arm目录,进行编译安装。在终端中进行如下操作: #./configure -release -shared -fast -no-largefile -qt-sql-sqlite -no-qt3support -no-xmlpatterns -no-mmx -no-3dnow -no-sse -no-sse2 -no-svg -no-webkit -qt-zlib -qt-gif -qt-libtiff -qt-libpng -qt-libmng -qt-libjpeg -make libs -nomake tools -nomake examples -nomake docs -nomake demo -no-nis -no-cups -no-iconv -no-dbus -no-openssl -xplatform qws/linux-arm-g++ -embedded arm -little-endian -qt-freetype -depths 16,18 -qt-gfx-linuxfb -no-gfx-transformed -no-gfx-multiscreen -no-gfx-vnc -no-gfx-qvfb -qt-kbd-usb -no-glib -qt-mouse-tslib
QMAKE_INCDIR = tslib -build/include # path to compiled includes
之所以裁剪那么多参数,是因为开发版空间有限,只要完成我所需要的功能就可以了,之后配置环境变量,我的配置如下: export QTDIR=/qq2440 export T_ROOT=/tslib export PATH=$QTDIR/bin:$PATH export TSLIB_CONSOLEDEVICE=none export TSLIB_FBDEVICE=/dev/fb0 export TSLIB_TSDEVICE=/dev/input/event0 export TSLIB_PLUGINDIR=$T_ROOT/lib/ts export TSLIB_CONFFILE=$T_ROOT/etc/ts.conf export TSLIB_CALIBFILE=/etc/pointercal export QWS_MOUSE_PROTO=tslib:/dev/input/event0 export LD_LIBRARY_PATH=$T_ROOT/lib:$QTDIR/lib 最后,运行qt的测试程序成功,移植OK了。 出现的问题: 运行测试程序中说缺少librt.so.1 ,libstdc++.so.6 ,libgcc_s.so.1这三个文件,这是因为交叉编译的环境不同,从主机上的拷贝过去即可。还提示找不到字体,是因为编译时没有设定安装目录,在板子上建立一个连接就可以了。 参考资料: [1]http://cgy136652.blog.163.com/blog/static/36168728200932410649487/ [2]http://blog./u2/86708/showart_1924834.html [3]http://blog./u2/75270/showart_1793535.html [4]http://blog./u1/39383/showart_1853496.html [5]http://www./2009/05/23/qt-configure/ [6]http://read./downloads78/sourcecode/embed/296243/%E7%94%A8tslib%E6%A0%A1%E5%87%86%E8%A7%A6%E6%91%B8%E5%B1%8F%EF%BC%88%E6%88%90%E5%8A%9F%EF%BC%89.rtf__.htm |
|
来自: zengxiaowu2005 > 《QT》